Ответ 1
То, что вам нужно использовать, - это, по сути, 9-патч-образ (как уже указывал Ken Wolf в этом комментарии).
Чтобы начать работу, я включаю набор 9-патч-изображений из одного из моих приложений вместе с кратким фрагментом кода о том, как его использовать при создании макета XMl.; -)
Набор изображений с 9 патчами:
(Они называются: bubble_white_normal_mdpi.9
, bubble_white_normal_hdpi.9
и bubble_white_normal_xhdpi.9
соответственно. Удалить _mdpi, _hdpi и _xhdpi из имен файлов после размещения их в соответствующих папках drawable
.
XML:
<LinearLayout
android:id="@+id/linlaUserOther"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:baselineAligned="false"
android:orientation="horizontal"
android:padding="2dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="top|center" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/imgvwProfileOther"
android:layout_width="42dp"
android:layout_height="42dp"
android:adjustViewBounds="true"
android:contentDescription="@string/content_desc_user_profile"
android:scaleType="centerCrop"
android:src="@drawable/ic_contact_picture" >
</ImageView>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/bubble_white_normal"
android:gravity="top|center"
android:orientation="vertical" >
.... // OTHER STUFF HERE THAT IS NOT NECESSARY IN THIS CODE SNIPPET ON SO
</LinearLayout>
</LinearLayout>
ПРИМЕЧАНИЕ 1:
Несмотря на то, что я включаю в себя рабочий набор изображений (почти при загрузке ложки, если хотите), я настоятельно призываю вас создать свой собственный набор изображений, которые соответствуют вашей схеме вещей. Кроме того, это также позволит вам создавать собственные ресурсы в будущем. Единственная причина, по которой я перехожу на лишнюю милю, - это то, что я лично потерял 3 дня, и я понял, что правильно смотрю и работаю.: - (
ПРИМЕЧАНИЕ 2:
Я устанавливаю изображение в качестве фона для LinearLayout
. Вам, однако, нужно будет установить его на TextView
, который вам нужен, как речевой пузырь.
Дополнительные сайты (учебники):