如何在画布上绘制时动态更改自定义视图大小?

时间:2018-04-23 11:42:26

标签: android android-layout android-canvas android-view

我想绘制一个callout类型视图(在本例中为LinearLayout),其中callout背景是CardView,title是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)
}

0 个答案:

没有答案