您好我有一个ViewFlipper,它在两个视图之间翻转,一个视图是一个ImageView,一个是TextView。图像和文本的大小取决于我从服务器检索的内容。我希望TextView始终具有与ImageView相同的高度尺寸,这样当翻转imageview时,即使文本视图关联的文本非常少(如果有大量文本),textview布局的大小也不会改变如果TextView的高度超过imageview,我想做一个ellipsize =“end”。下面是我在布局中使用的代码:
<ViewFlipper
android:id="@+id/flipperZoneMediumLeft"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imgZonePic"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/stock_service1"
android:background="@android:color/black"
android:scaleType="center" />
<TextView
android:id="@+id/txtZoneNameFlipperLeft"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:text="This is a description"
android:background="@android:color/black"
android:textColor="@android:color/white" />
</ViewFlipper>
我觉得这个问题有一个简单的解决方案,但我在这方面挣扎太久了。任何帮助解决我的问题将不胜感激。
感谢。
答案 0 :(得分:0)
将ImageView
和TextView
包裹在LinearLayout
中,以便您可以为它们添加权重。将它们的高度设置为0dp,并为它们赋予layout_weight为1.这样它们将始终具有相同的高度。像这样:
<ViewFlipper
android:id="@+id/flipperZoneMediumLeft"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/imgZonePic"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/black"
android:scaleType="center"
android:src="@drawable/stock_service1" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<TextView
android:id="@+id/txtZoneNameFlipperLeft"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/black"
android:ellipsize="end"
android:gravity="center"
android:text="This is a description"
android:textColor="@android:color/white" />
</LinearLayout>
</LinearLayout>
</ViewFlipper>