我需要一些帮助,将自定义列表视图与图像和文本对齐。
我正在尝试这个:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical|center"
android:paddingTop="20dp"
android:layout_weight="2"
android:text="TextView" />
</LinearLayout>
我认为重量是保持元素的比例,而不是元素的内容,但显然它会关注文本视图中的内容,所以我的列表看起来很乱。
无论文本在文本视图中显示多长时间,如何将其对齐都是一样的?
所以绿线应该是直线垂直线,无论右侧是否有文字。
TNX
答案 0 :(得分:3)
基本上,你的布局应该是:
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|center"
android:paddingTop="20dp"
android:layout_weight="2"
android:drawableLeft="@drawable/ic_launcher"
android:text="TextView" />
android:drawableLeft="@drawable/ic_launcher"
定义最左边的复合drawable,它会很好地对齐。
答案 1 :(得分:0)
使用
android:layout_height="0dp"
答案 2 :(得分:0)
请改为尝试:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="2"
android:text="TextView" />
</LinearLayout>
答案 3 :(得分:0)
删除android:layout_weight
。
这将在您定义宽度后对齐图像。
如果您也要对齐文字,请移除android:gravity
或将其设置为左侧。
您可以将android:marginRight
添加到imageView以获得更好的可读性。