其他分享
首页 > 其他分享> > android-如何保证ImageView的空间,防止其缩小?

android-如何保证ImageView的空间,防止其缩小?

作者:互联网

我需要创建一个具有以下内容的XML
*两个具有不同文本的TextView(1-3行),一个TextView在另一个之下.
* 2个TextView右侧的一个ImageView,垂直居中,为30×30 px.

一个主要限制是,当膨胀到PopupWindow时,它不能占据整个屏幕,这意味着我不能在很多地方使用fill_parent属性.

我尝试了许多不同的布局,但是当文本较长时,ImageView总是被TextView推开.当文本为“半长”时,图像变小,但仍可见.我希望它始终为30×30像素,文本可以换行并改用另一行.

我试图为width和minWidth指定值.还尝试了ImageView的layout_weight =“ 1”.还尝试将ImageView包装到LinearLayout中,并给出layout_weight =“ 1”参数.什么都没有.

这是不起作用的示例:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" android:layout_height="wrap_content">

    <LinearLayout android:layout_width="wrap_content"
       android:layout_height="wrap_content" android:orientation="vertical">

       <TextView android:id="@+id/popupTitle" android:layout_width="wrap_content"
      android:layout_height="wrap_content"/>

       <TextView android:id="@+id/popupContent"
      android:layout_width="wrap_content" android:layout_height="wrap_content"/>
    </LinearLayout>

    <ImageView android:layout_width="wrap_content"
       android:layout_height="wrap_content" android:src="@drawable/img_30x30_px" />
 </LinearLayout>

解决方法:

我遇到了类似的问题,我发现TableView布局对我有用.花费了一段时间,但是您可以使用stretch和strink列属性来更改列扩展以匹配内容的行为.

请注意,您应该能够将文本的linearLayout设置为fill_parent(以填充列空间).

阅读有关TableRow如何工作的信息http://developer.android.com/resources/tutorials/views/hello-tablelayout.html

<TableRow>
    <!-- Column 1 -->
    <LinearLayout android:layout_width="fill_parent"
   android:layout_height="wrap_content" android:orientation="vertical">

            <TextView
                android:layout_column="1"
                android:text="Open..."
                android:padding="3dip" />
            <TextView
                android:text="Ctrl-O"
                android:gravity="right"
                android:padding="3dip" />
    </LinearLayout>
    <!-- Column 2 -->
    <ImageView android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:src="@drawable/img_30x30_px" />
</TableRow>

(害怕我不在装有Android的计算机上,因此我无法测试上述代码).

标签:android-layout,width,android-imageview,android
来源: https://codeday.me/bug/20191209/2095693.html