我正在制作列表视图,其中我有一个图像视图,在左边我必须对齐TextView,它应该在它的中心有文本而不是它的底部。我设置了引力,但它在设计中看起来很好,但是当我运行我的应用程序并在列表视图中获取数据时,文本将设置在底部。
我会告诉你我的意思。但首先让我告诉你我是如何做到这一点的
<RelativeLayout
android:id="@+id/block_address"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/pin" />
<TextView
android:id="@+id/row_address"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignBaseline="@+id/iv_address"
android:layout_alignBottom="@+id/iv_address"
android:layout_marginLeft="3dp"
android:layout_toRightOf="@+id/iv_address"
android:gravity="center|center_vertical"
android:text="Address Goes here"
android:textColor="#AAAAAA" />
</RelativeLayout>
这就是我得到这个
的方式这就是我想要的
你可以在第二张图片中看到我想要这种类型的调整。在设计预览中,它向我展示了与预期相似的设计。但是,当我运行应用程序时,它只是向我显示文字,就像我在图片中向您展示的那样。
请告诉我我做错了什么,以及如何限制这一点,不要忘记这一点。
答案 0 :(得分:4)
将整个代码替换为:
<TextView
android:id="@+id/row_address"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:android:drawableLeft="@drawable/pin"
android:drawablePadding="10dp"
android:gravity="center|center_vertical"
android:text="Address Goes here"
android:textColor="#AAAAAA" />
答案 1 :(得分:2)
您可以添加可绘制图标
<TextView
android:drawableLeft="@drawable/..."/>
答案 2 :(得分:2)
将TextView替换为:
<TextView
android:id="@+id/row_address"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignTop="@+id/iv_address"
android:layout_alignBottom="@+id/iv_address"
android:layout_marginLeft="3dp"
android:layout_toRightOf="@+id/iv_address"
android:gravity="center|center_vertical"
android:text="Address Goes here"
android:textColor="#AAAAAA" />
答案 3 :(得分:0)
使用LinearLayout而不是RelativeLayout作为这样的事情在LinearLayout中非常容易
-- Create a virtual disk
subst t: C:\Windows\assembly
-- Delete log4net x64 assembly
del t:\GAC_64\log4net\1.2.10.0__692fbea5521e1304\log4net.dll
-- remove the virtual disk
subst t: /d
答案 4 :(得分:-1)
尝试使用LinearLayout而不是RelativeLayout。因为它易于对齐。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/block_address"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:orientation="horizontal"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/iv_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logout" />
<TextView
android:id="@+id/row_address"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="3dp"
android:gravity="center|center_vertical"
android:text="Address Goes here"
android:textColor="#AAAAAA" />
</LinearLayout>