尝试将图像对齐到右边距并将文本对齐到左边距(Android应用程序)

时间:2012-01-26 13:59:58

标签: android android-layout

这是我正在使用的布局:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/background"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="30dip"
>

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

    <RelativeLayout
        android:orientation="horizontal"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent" 
        android:gravity="fill_horizontal" 
        >

        <TextView android:id="@+id/poi_name" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:textStyle="bold" 
            android:layout_alignParentLeft="true"
        />

        <ImageView android:id="@+id/internet" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:src="@drawable/internet"
            android:adjustViewBounds="true"
            android:maxHeight="20sp"
        />

    </RelativeLayout>
    ...
  </LinearLayout>
</ScrollView>

但是,文本显示为左对齐,但图像显示的高度与文本相同(如预期),但在屏幕中水平居中。为什么它不对齐? 我尝试使用android:gravity RelativeLayout属性的不同组合,但没有成功。

图像的maxHeight属性是使用'sp'单位设置的,因为我希望图像与其伴随的文本成比例。这是对的吗?

感谢您的反馈。

更新

感谢@ danh32的回答,我设法使用LinearLayout而不是RelativeLayout解决了这个问题。但出于好奇:如果有人知道我的例子的RelativeLayout有什么问题,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

您是否尝试使用textview的drawableRight属性来显示图像,而不是使用独立的imageview?您应该能够更改textview的宽度以填充父级并将drawableRight设置为您的Internet drawable。

    <TextView android:id="@+id/poi_name" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:textStyle="bold" 
        android:layout_alignParentLeft="true"
        android:drawableRight="@drawable/internet"
    />