3

У меня есть Android ListView, содержащий несколько писем. Некоторые из них имеют контактные миниатюры, в то время как некоторые из них этого не делают. Для неизвестных контактных эскизов я хочу создать растровое изображение, содержащее инициалы соответствующего идентификатора электронной почты. Как я могу это достичь? Я видел некоторые Android приложений с использованием этой технологии для отображения контактной миниатюры, как это:Android: Создание эскиза контакта от имени инициалы

enter image description here

Для начала, я использую следующий код:

ImageView iv=(ImageView)findViewById(R.id.imageView1); 
    TextView view = (TextView)findViewById(R.id.textView1); 

    Bitmap b=Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); 
    Canvas c = new Canvas(b); 
    view.draw(c); 
    iv.setImageBitmap(b); 

Где TextView держит простая строка. К сожалению, это не сработает. Может кто-нибудь, пожалуйста, дайте мне несколько указателей? Большое спасибо за вашу помощь!

ответ

5

Ну, вы на правильном пути. Попробуй что-нибудь вроде этого.

ImageView iv=(ImageView)findViewById(R.id.imageView1); 

Bitmap b=Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); 
Canvas c = new Canvas(b); 
c.drawText(initials,x,y,paint); 
iv.setImageBitmap(b); 

Вы должны создать свою собственную логику для центрирования текста. Вы можете использовать один из следующих вспомогательных методов: Paint.getTextSize(), чтобы узнать, сколько места требуется для текста.

 Смежные вопросы

  • Нет связанных вопросов^_^