如何将 xml 布局中的元素分组以在 Android 中对齐
How to group elements in xml layout for align in Android
我在 xml
布局中有 TextView
和 ImageButton
。 ImageButton
位于 TextView
的右侧,我希望 group 都将它们水平居中放置在屏幕上。我用 RelativeLayout
.
我该怎么办?
我假设您正在开发 android 应用程序...如果是这样,可以使用此代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:orientation="horizontal">
<TextView
android:id="@+id/headerText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
/>
<ImageButton
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_launcher" />
</LinearLayout>
</RelativeLayout>
android:layout_centerInParent="true"
会将项目放在 RelativeLayout
父级的中间
android:layout_centerHorizontal="true"
只会水平居中项目。您可以删除不需要的那个。
一种优化方法,它不使用不必要的布局嵌套,并通过将图像合并到 TextView 中来减少视图数:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
>
<TextView
android:id="@+id/headerText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:drawableRight="@drawable/ic_launcher"
android:text="@string/hello_world"
/>
</RelativeLayout>
秘诀在于复合绘图的使用 android:drawableRight="@drawable/ic_launcher"
。
要以编程方式更改它,请使用 setCompoundDrawablesWithIntrinsicBounds()
我在 xml
布局中有 TextView
和 ImageButton
。 ImageButton
位于 TextView
的右侧,我希望 group 都将它们水平居中放置在屏幕上。我用 RelativeLayout
.
我该怎么办?
我假设您正在开发 android 应用程序...如果是这样,可以使用此代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:orientation="horizontal">
<TextView
android:id="@+id/headerText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
/>
<ImageButton
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_launcher" />
</LinearLayout>
</RelativeLayout>
android:layout_centerInParent="true"
会将项目放在 RelativeLayout
父级的中间
android:layout_centerHorizontal="true"
只会水平居中项目。您可以删除不需要的那个。
一种优化方法,它不使用不必要的布局嵌套,并通过将图像合并到 TextView 中来减少视图数:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
>
<TextView
android:id="@+id/headerText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:drawableRight="@drawable/ic_launcher"
android:text="@string/hello_world"
/>
</RelativeLayout>
秘诀在于复合绘图的使用 android:drawableRight="@drawable/ic_launcher"
。
要以编程方式更改它,请使用 setCompoundDrawablesWithIntrinsicBounds()