如何使用两个TextView将ImageView居中?

时间:2013-04-10 18:56:40

标签: android android-layout

xml如何做这样的事情?。

Sample

即。我有两个TextView,一个在另一个下面,两个都对齐到左边。此外,在相同的“线”上,我有一个右侧对齐的ImageView。最后,我需要使用TextViews垂直居中图像。

3 个答案:

答案 0 :(得分:3)

将RelativeLayout作为父级,在父级左侧的文本视图中取两个,在另一个之下。并将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>

答案 1 :(得分: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>

答案 2 :(得分:1)

您可以使用单个TextView窗口小部件实现所需的显示。您可以使用SpannableStringSpannableStringBuilder来显示带有混合格式的文字,TextView.setCompoundDrawablesTextView.setCompoundDrawablesWithIntrinsicBounds可以显示文字右侧的图片。