0

我对一个我无法弄清楚的简单问题感到困惑。得到一个显示按钮,其中包括一个图像(标志)、一个文本和另一个图像(插入符号)。这三个在一个布局容器中,它被分配了一个权重,因为它旁边还有另一个按钮。这是布局容器的外观:

   <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 右侧的另一个按钮(上述代码中未显示)仍然显示正常,因此问题不在于插入符号图像被推离屏幕右侧。

知道为什么会发生这种情况/我可以做些什么来保持插入符号图像可见?感谢你的帮助!

4

1 回答 1

0

随着文本的扩展,它使 2md 图像超出屏幕,因此使用 wieght 修复 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>
于 2012-06-12T07:59:59.997 回答