0

我有我的layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:orientation="vertical"

        android:gravity="center_horizontal"
         >
             <ImageView
                        android:id="@+id/id_new_big_list_item_image"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:adjustViewBounds="true"   
                        android:layout_centerHorizontal="true"   /> 

              <LinearLayout 
                  android:layout_height="wrap_content"
                  android:layout_width="fill_parent"
                  android:orientation="vertical"
                  android:background="@drawable/round_corners_new_bottom" >

                  <TextView
                    android:id="@+id/id_new_big_list_item_name"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textSize="12sp"
                    android:textColor="@color/new_restaurant_name"
                    android:paddingTop="5dp"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp"
                    android:paddingBottom="0dp" />



              </LinearLayout>


</LinearLayout>

我需要使用文本视图在顶部(水平中心)和线性布局下方显示图像。图像可以有不同的宽度,但我想将线性布局的宽度设置为与图像相同。但是如果文本太长,宽度就会变大。我怎样才能做到这一点?如果文本的宽度大于图像宽度,则制作 2 行文本。

可能吗??

这是我的布局快照:

在此处输入图像描述

4

3 回答 3

1

设置 ImageViewlayout_width="wrap_content"并删除包含 TextView 的第二个 LinearLayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:orientation="vertical"
    android:gravity="center_horizontal" >
    <ImageView
        android:id="@+id/id_new_big_list_item_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"   
        android:layout_centerHorizontal="true"   /> 

    <TextView
       android:id="@+id/id_new_big_list_item_name"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:textSize="12sp"
       android:textColor="@color/new_restaurant_name"
       android:paddingTop="5dp"
       android:paddingLeft="10dp"
       android:paddingRight="10dp"
       android:paddingBottom="0dp" />
</LinearLayout>
于 2012-07-24T09:33:43.920 回答
1

您的图像应该是 wrap_contant 并且取决于它的大小。TextView 将放置在所有父级中。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:orientation="vertical"
        android:gravity="center_horizontal" >

        <ImageView
               android:id="@+id/id_new_big_list_item_image"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_centerHorizontal="true"   /> 

       <TextView
               android:background="@drawable/round_corners_new_bottom" 
               android:id="@+id/id_new_big_list_item_name"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:textSize="12sp"
               android:textColor="@color/new_restaurant_name" />

</LinearLayout>

祝你好运!

于 2012-07-24T09:37:55.847 回答
0

在这里,而不是LinearLayout使用 a RelativeLayout

并将您的边界设置为EditTextImageView Width 对齐的左右对齐。这样当文本的长度超过 EditText 的高度时,EditText 的垂直增量比水平的增量。

于 2012-07-24T09:36:03.850 回答