【问题标题】:Adjust listView xml layout调整listView xml布局
【发布时间】:2016-03-19 11:36:54
【问题描述】:

大家好。我非常需要有人帮助来调整我的xml 布局。

上图显示了ListView,它应该是这样的:

左边是图片,右边是文字

Claims Type : Project
Amount      : 100
Description : Trainning

xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="start"
        android:background="@android:color/white"
        android:padding="12dp">

        <ImageView
            android:id="@+id/image"
            android:layout_width="80dp"
            android:layout_height="70dp"
            android:layout_centerVertical="true"
            android:layout_gravity="left"/>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/image"
            android:layout_marginRight="4dp"
            android:layout_centerVertical="true"
            android:paddingLeft="6dp"
            android:orientation="vertical">

            <TextView
                android:id="@+id/Claimtype"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="18sp"
                android:text="Claims Type : "
                android:maxLines="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/type"
                android:layout_toRightOf="@+id/Claimtype"/>

            <TextView
                android:id="@+id/Amount"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="14sp"
                android:textColor="@android:color/secondary_text_dark_nodisable"
                android:text="Amount : "
                android:maxLines="1"
                android:ellipsize="end"
                android:layout_below="@+id/Claimtype" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/amount"
                android:layout_toRightOf="@+id/Amount"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="14sp"
                android:textColor="@android:color/secondary_text_dark_nodisable"
                android:text="Description : "
                android:maxLines="1"
                android:layout_below="@+id/Amount" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/description"
                android:layout_toRightOf="@+id/Description"/>

        </RelativeLayout>

    </RelativeLayout>

非常感谢..

【问题讨论】:

  • 利用线性布局

标签: android xml image listview layout


【解决方案1】:

您只需要一个 LinearLayout:

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

    <ImageView 
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.6"
        android:id="@+id/imageView"/>

    <TextView 
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.4"
        android:id="@+id/textView"/>

</LinearLayout>

然后像这样创建字符串:

Claims Type : "yourType" + "\n"
Amount      : 100 + "\n"
Description : Trainning + "\n"

为您的 TextView 设置

【讨论】:

    【解决方案2】:

    你可以试试,我做的很快,所以它不是很漂亮,但它就是你想要的(我认为)。尽量不要投入坚实的价值。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="start"
        android:background="@android:color/white"
        android:padding="12dp">
    
        <ImageView
            android:id="@+id/image"
            android:layout_width="80dp"
            android:layout_height="70dp"
            android:layout_centerVertical="true"
            android:layout_gravity="left"/>
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/image"
            android:layout_centerVertical="true"
            android:orientation="vertical">
    
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
    
                <TextView
                    android:id="@+id/Claimtype"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="18sp"
                    android:text="Claims Type : "
                    android:maxLines="1"/>
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/type"
                    android:layout_toRightOf="@+id/Claimtype"/>
    
            </LinearLayout>
    
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/image"
                android:layout_centerVertical="true"
                android:orientation="horizontal">
    
                <TextView
                    android:id="@+id/Amount"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="14sp"
                    android:textColor="@android:color/secondary_text_dark_nodisable"
                    android:text="Amount : "
                    android:maxLines="1"
                    android:ellipsize="end"
                    android:layout_below="@+id/Claimtype" />
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/amount"
                    android:layout_toRightOf="@+id/Amount"/>
    
            </LinearLayout>
    
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/image"
                android:layout_centerVertical="true"
                android:orientation="horizontal">
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="14sp"
                    android:textColor="@android:color/secondary_text_dark_nodisable"
                    android:text="Description : "
                    android:maxLines="1"
                    android:layout_below="@+id/Amount" />
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/description"
                    android:layout_toRightOf="@+id/Description"/>
    
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
    

    【讨论】:

      【解决方案3】:

      出于性能目的,请勿将 RelativeLayouts 嵌入到另一个中。由于父级 RelativeLayout 中只有两个子级,因此可以使用 LinearLayout。

      现在关于您的问题:

              <TextView
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:id="@+id/amount"
                  android:layout_toRightOf="@+id/Amount"/>
      

      layout_toRightOf 表示 TextView 将放置在指示视图的右侧,仅水平放置。您还需要添加layout_below 属性。

      【讨论】:

        【解决方案4】:

        试试这个,我已经在我的工作区做了。

        <?xml version="1.0" encoding="utf-8"?>
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:mytextview="http://schemas.android.com/apk/res/com.bne"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"
            android:orientation="vertical" >
        
            <RelativeLayout
                android:id="@+id/rlMain"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="10dp" >
        
                <ImageView
                    android:id="@+id/imgCover"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:background="@drawable/ic_launcher" />
        
                <RelativeLayout
                    android:id="@+id/rlHeader"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="2dp"
                    android:layout_toLeftOf="@+id/imgArrow"
                    android:layout_toRightOf="@+id/imgCover" >
        
                    <TextView
                        android:id="@+id/txtCoverHeader"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="@android:color/black"
                        android:textSize="14sp" />
                </RelativeLayout>
        
                <RelativeLayout
                    android:id="@+id/rlCT"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp"
                    android:layout_toRightOf="@+id/imgCover" >
        
                    <TextView
                        android:id="@+id/txtCT"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_toRightOf="@+id/txtDateTime"
                        android:gravity="center"
                        android:text="Claims Type :"
                        android:textColor="@android:color/black"
                        android:textSize="10sp" />
        
                    <TextView
                        android:id="@+id/txtOutCT"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_toRightOf="@+id/txtCT"
                        android:gravity="center"
                        android:text="Project"
                        android:textColor="@android:color/black"
                        android:textSize="10sp" />
                </RelativeLayout>
        
                <RelativeLayout
                    android:id="@+id/rlAmount"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/rlCT"
                    android:layout_marginLeft="5dp"
                    android:layout_toRightOf="@+id/imgCover" >
        
                    <TextView
                        android:id="@+id/txtAmount"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_toRightOf="@+id/txtDateTime"
                        android:gravity="center"
                        android:text="Amount :"
                        android:textColor="@android:color/black"
                        android:textSize="10sp" />
        
                    <TextView
                        android:id="@+id/txtOutAmount"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_toRightOf="@+id/txtAmount"
                        android:gravity="center"
                        android:text="100"
                        android:textColor="@android:color/black"
                        android:textSize="10sp" />
                </RelativeLayout>
        
                <RelativeLayout
                    android:id="@+id/rlTraining"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/rlAmount"
                    android:layout_marginLeft="5dp"
                    android:layout_toRightOf="@+id/imgCover" >
        
                    <TextView
                        android:id="@+id/txtTraining"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_toRightOf="@+id/txtDateTime"
                        android:gravity="center"
                        android:text="Description :"
                        android:textColor="@android:color/black"
                        android:textSize="10sp" />
        
                    <TextView
                        android:id="@+id/txtOutTraining"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_toRightOf="@+id/txtTraining"
                        android:gravity="center"
                        android:text="Trainning"
                        android:textColor="@android:color/black"
                        android:textSize="10sp" />
                </RelativeLayout>
            </RelativeLayout>
        
        </RelativeLayout>
        

        【讨论】:

          【解决方案5】:

          如果有问题,请使用它并告诉我

          <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="horizontal"
              android:gravity="start"
              android:background="@android:color/white"
              android:padding="12dp">
          
              <ImageView
                  android:id="@+id/image"
                  android:layout_width="80dp"
                  android:layout_height="70dp"
                  android:layout_centerVertical="true"
                  android:layout_gravity="left"/>
          
              <RelativeLayout
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_toRightOf="@+id/image"
                  android:layout_centerVertical="true"
                  android:paddingLeft="6dp"
                  android:orientation="vertical"
                  android:layout_alignParentRight="true"
                  android:layout_alignParentEnd="true">
                  <LinearLayout
                      android:id="@+id/ll1"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:orientation="horizontal">
                      <TextView
                          android:id="@+id/Claimtype"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:textSize="18sp"
                          android:text="Claims Type : "
                          android:singleLine="true" />
          
                      <TextView
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:id="@+id/type"
                          android:text="dsjfhjh"
                          />
                  </LinearLayout>
          
                  <LinearLayout
                      android:id="@+id/ll2"
                      android:layout_below="@+id/ll1"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:orientation="horizontal">
                      <TextView
                          android:id="@+id/Amount"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:textSize="14sp"
                          android:textColor="@android:color/secondary_text_dark_nodisable"
                          android:text="Amount : "
                          android:maxLines="1"
                          android:ellipsize="end" />
          
                      <TextView
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:id="@+id/amount"
                          android:text="dsjfhjsdkh" />
                  </LinearLayout>
          
                  <LinearLayout
                      android:id="@+id/ll3"
                      android:layout_below="@+id/ll2"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:orientation="horizontal">
          
                      <TextView
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:textSize="14sp"
                          android:textColor="@android:color/secondary_text_dark_nodisable"
                          android:text="Description : "
                          android:maxLines="1"
                          android:layout_below="@+id/Amount" />
          
                      <TextView
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:id="@+id/description"
                          android:text="jksdhfj"
                          android:layout_toRightOf="@+id/Description"/>
          
                  </LinearLayout>
          
          
              </RelativeLayout>
          
          </RelativeLayout>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2020-12-24
            • 1970-01-01
            • 2012-09-29
            • 1970-01-01
            • 2017-02-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多