目前,我有一个TextView
,我希望与Button的文字(Not Button本身)正确对齐
布局类似于以下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is text view"
android:id="@+id/textView"
tools:textColor="#ff000000"
android:textStyle="normal|bold"
android:textSize="18sp" />
<Button
android:text="Button Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:id="@+id/button"
android:drawableLeft="@drawable/flag_za"
android:drawablePadding="10dp" />
</LinearLayout>
如您所见,顶部TextView
与Button
本身正确对齐。但是,我想要的是,TextView
与&#34; BUTTON TEXT&#34;对齐。
我想知道,如何执行计算,确定需要多少填充,以便我的TextView
能够与&#34; BUTTON TEXT&#34;?正确对齐? (而不是将TextView
定位到垂直的红线,我想将TextView
定位到垂直的蓝线)
答案 0 :(得分:0)
我认为你无法按照你的建议进行计算。如果你真的需要它,我会创建一个与标志大小相同的不可见图像,然后使用与按钮中相同的边距+填充。
答案 1 :(得分:0)
如果您更改布局并使用RelativeLayout,则可以实现此目的。 此解决方案的问题是您需要使用自定义按钮,并且必须知道哪个更高的高度(文本或图标):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="10dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="10dp"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is text view"
tools:textColor="#ff000000"
android:textStyle="normal|bold"
android:textSize="18sp"
android:layout_alignStart="@+id/button_text"/>
<View
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_alignStart="@+id/button_image"
android:layout_alignEnd="@+id/button_text"
android:layout_alignTop="@+id/button_image"
android:layout_alignBottom="@+id/button_image"
android:background="#555"/>
<ImageView
android:id="@+id/button_image"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginTop="32dp"
android:src="@drawable/flag_za"/>
<TextView
android:id="@+id/button_text"
android:text="Button Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:layout_toRightOf="@+id/button_image"
android:paddingLeft="10dp"/>
</RelativeLayout>