我对一个我无法弄清楚的简单问题感到困惑。有一个显示按钮,包括图像(标志),文本和另一个图像(插入符号)。这三个位于布局容器中,由于旁边有另一个按钮,因此会为其分配权重。以下是布局容器的外观:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/countryselect"
android:orientation="horizontal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".88"
android:gravity="center_vertical"
android:clickable="true"
android:onClick="clickHandler" >
<ImageView
android:id="@+id/countryflag"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingRight="8dp"
android:src="@drawable/flag_argentina" />
<TextView
android:id="@+id/countryname"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="@string/app_title"
android:textStyle="bold"
android:textColor="#4898c0" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingLeft="4dp"
android:src="@drawable/corner" />
</LinearLayout>
如果TextView中的文本适合一行,那么整个工作正常。如果没有,即,如果文本包裹到两行,则插入符号图像完全消失(而标志显示为垂直居中)。标志图像和插入符号具有相同的像素高度。请注意,此LinearLayout右侧的其他按钮(上面的代码中未显示)仍然可以正常显示,因此问题不在于插入符号图像是从屏幕右侧推出的。
知道为什么会发生这种情况/我可以做些什么来保持插入符号图像的可见性?感谢您的帮助!
答案 0 :(得分:0)
随着文本的扩展,它将2md图像从屏幕中移出,因此使用wieght some修复TextView的宽度
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/countryselect"
android:orientation="horizontal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".88"
android:gravity="center_vertical"
android:clickable="true"
android:onClick="clickHandler"
android:weightSum="1">
<ImageView
android:id="@+id/countryflag"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:paddingRight="8dp"
android:src="@drawable/launcher_icon"
android:layout_weight=".3" />
<TextView
android:id="@+id/countryname"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:text="@string/app_title"
android:textStyle="bold"
android:textColor="#4898c0"
android:layout_weight=".4"/>
<ImageView
android:layout_width="0dp"
android:layout_height="fill_parent"
android:paddingLeft="4dp"
android:src="@drawable/launcher_icon"
android:layout_weight=".3"/>
</LinearLayout>