LinearLayout随图像大小调整

时间:2014-10-07 15:49:06

标签: android textview android-linearlayout android-imageview

这是我的xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingTop="10dp"
    android:id="@+id/linhaCliente"
    android:clickable="false">


    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:clickable="false">

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

            <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:weightSum="1">

                <LinearLayout
                    android:orientation="horizontal"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content">

                    <LinearLayout
                        android:orientation="horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center|left"
                        android:layout_weight="1">


                        <TextView
                            android:id="@+id/telefone"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="(43)123456"
                            android:textSize="20dp"

                            android:textColor="#696969"
                            android:clickable="true"

                            android:phoneNumber="true" />

                    </LinearLayout>
                    <View
                        android:layout_width="1dp"
                        android:layout_height="fill_parent"
                        android:background="#d6d6d6"
                        />

                    <LinearLayout
                        android:orientation="horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center|right"
                        android:columnCount="2"
                        android:paddingRight="5dp">


                        <ImageView
                            android:id="@+id/phone"
                            android:src="@drawable/ic_action_name"
                            android:layout_width="96px"
                            android:layout_height="96px"
                            android:clickable="true" />

                    </LinearLayout>
                </LinearLayout>


            </LinearLayout>

            <LinearLayout
                android:orientation="horizontal"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">

                <LinearLayout
                    android:orientation="horizontal"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:gravity="center">

                    <LinearLayout
                        android:orientation="horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="left"

                       >



                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:id="@+id/tipoTelefone"
                            android:text="Trabalho "
                            android:textColor="#aaaaaa"
                            android:textSize="15dp"

                            />


                    </LinearLayout>

                </LinearLayout>
            </LinearLayout>
        </LinearLayout>

    </LinearLayout>

</LinearLayout>

,结果是:

enter image description here

我无法弄清楚如何设置&#34; TRABALHO&#34; TextView就在电话号码的下方,就像在人物应用程序中一样,它有一个垂直分隔符和一个图标,问题是当我改变我的图标大小时它会推动文本视图。下面的图片显示了我正在寻找的内容:

enter image description here

1 个答案:

答案 0 :(得分:2)

看看这是否是你想要的,

一些旁注:

  1. 你滥用LinearLayout(使用超过必要的)视图层次越复杂,界面越慢;
  2. 在布局中指定尺寸时避免使用px,例如您在ImageView中所做的事情(使用dp可以让UI在不同的屏幕尺寸中使用时更好地缩放
  3. android:phoneNumber="true"旨在用于EditText,而不是TextView
  4. 如果您的目标是API 11或更高版本,则可以使用android:showDividers而不是使用视图作为图像与文本之间的垂直分隔符

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
    
        android:layout_weight="1"
        android:orientation="vertical">
    
        <TextView
            android:id="@+id/telefone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:text="(43)123456"
            android:textColor="#696969"
    
            android:textSize="20dp"/>
    
        <TextView
            android:id="@+id/tipoTelefone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Trabalho "
            android:textColor="#aaaaaa"
            android:textSize="15dp"
    
            />
    </LinearLayout>
    
    <View
        android:layout_width="1dp"
        android:layout_height="fill_parent"
        android:background="#d6d6d6"
        />
    
    
    <ImageView
        android:id="@+id/phone"
        android:layout_marginRight="5dp"
        android:layout_width="96px"
        android:layout_height="96px"
        android:clickable="true"
        android:src="@drawable/ic_launcher"/>