这是我正在使用的布局:
<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
有什么问题,我将不胜感激。
答案 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"
/>