1

xml 如何做这样的事情?

样本

即我有两个TextView,一个在另一个下方,都向左对齐。此外,在同一“行”上,我有一个向右对齐的 ImageView。最后,我需要使用 TextViews 将图像垂直居中。

4

3 回答 3

4

以RelativeLayout为父级,在父级左侧的textviews中取两个,在另一个下方。并将 ImageView 放在父右侧,垂直居中

检查这个:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="10dp"
    android:paddingBottom="10dp">

    <TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" 
     android:id="@+id/textview1"   
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_marginLeft="5dp"
     android:textColor="#000000"
     android:textSize="17sp"
     />
     <TextView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" 
     android:id="@+id/textview2"   
     android:layout_below="@+id/textview1"
     android:layout_alignParentLeft="true"
     android:layout_marginLeft="5dp"
     android:layout_marginTop="5dp"
     android:textColor="#000000"
     android:textSize="17sp"
     />
    <ImageView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true"
     android:layout_centerVertical="true"
     android:layout_marginRight="5dp"
     />


</RelativeLayout>
于 2013-04-10T19:02:28.697 回答
1

试试这个,它非常简单,布局不会在任何分辨率下扭曲,使用相对布局会扭曲......

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="5" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

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

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

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_weight="4"
        android:src="@drawable/ic_launcher" />
  </LinearLayout>

</LinearLayout>
于 2013-04-10T19:07:21.643 回答
1

您可以使用单个TextView小部件实现所需的显示。您可以使用SpannableStringorSpannableStringBuilder来显示具有混合格式的文本,TextView.setCompoundDrawables或者TextView.setCompoundDrawablesWithIntrinsicBounds在文本的右侧显示图像。

于 2013-04-10T19:44:52.897 回答