Я хочу нарисовать представление типа выноски (в данном случае LinearLayout), где фон выноски - это CardView, а заголовок - это TextView. Как изменить размер макета в зависимости от размера текста. Я пробовал обернуть контент, но он не работает.
layout_callout_view.xml
<LinearLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
android:orientation = "vertical"
android:layout_height = "wrap_content"
android:layout_width = "wrap_content">
<android.support.v7.widget.CardView
android:layout_height = "wrap_content"
android:layout_width = "wrap_content"
app:cardCornerRadius = "@dimen/dimen_2dp"
app:cardBackgroundColor = "@color/white">
<TextView
android:id = "@+id/markerCalloutTitle"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:textColor = "#010202"
android:textSize = "@dimen/dimen_16sp"
android:layout_gravity = "center"
android:gravity = "center">
</TextView>
</android.support.v7.widget.CardView>
<ImageView
android:layout_width = "@dimen/dimen_12dp"
android:layout_height = "@dimen/dimen_6dp"
android:layout_gravity = "center"
android:src = "@drawable/tips_location_marker_callout_pointer"/>
Предполагая, что calloutView как объект
onDraw{
---
---
calloutView.draw(canvas,x,y,paint)
}
Я не про truecaller, но у меня есть изображение и пара точек на этом изображении. Если пользователь нажимает на любую конкретную точку, появляется выноска в форме прямоугольника и отображается текст.
Вы ищете индивидуальный вид, например, truecaller? Но ваш пользовательский вид должен увеличивать его высоту в зависимости от текста. Я прав?