在所有设备的同一位置显示元素
Display elements in the same place for all devices
我正在尝试将项目移动到底部中间,我希望它在所有设备上都位于底部中间。我需要在 middel 上的 imagviews 上方和下方添加文本。抱歉,这个问题很琐碎。
这是我在 Android Studio 中的代码。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="horizontal"
android:padding="16dp">
<ImageView
android:id="@+id/img_instagram"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:src="@drawable/ic_instagram" />
<ImageView
android:id="@+id/img_vk"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:layout_marginStart="8dp"
android:src="@drawable/ic_vk_crug" />
<ImageView
android:id="@+id/gmail"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:layout_marginStart="8dp"
android:src="@drawable/ic_icons8_gmail" />
</LinearLayout>
尝试用
设置两个gravity
android:gravity="center_horizontal|bottom"
顺便说一句。 layout_centerInParent
是 RelativeLayout
参数,在您的代码中是 no-op,您可以安全地删除所有出现的
添加文本比较复杂,因为您使用 LinearLayout
作为根用户。您应该切换到 RelativeLayout
或 ConstraintLayout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal|bottom"
android:padding="16dp">
<LinearLayout
android:id="@+id/llInstagram"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/tvInstagram"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Instagram">
</TextView>
<ImageView
android:id="@+id/img_instagram"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@mipmap/ic_launcher" />
</LinearLayout>
<LinearLayout
android:id="@+id/llVK"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/llInstagram"
android:orientation="vertical">
<TextView
android:id="@+id/tv_vk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="VK">
</TextView>
<ImageView
android:id="@+id/img_vk"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="8dp"
android:src="@mipmap/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/llVK"
android:orientation="vertical">
<TextView
android:id="@+id/tvgmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Gmail">
</TextView>
<ImageView
android:id="@+id/gmail"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="8dp"
android:src="@mipmap/ic_launcher" />
</LinearLayout>
</RelativeLayout>
我正在尝试将项目移动到底部中间,我希望它在所有设备上都位于底部中间。我需要在 middel 上的 imagviews 上方和下方添加文本。抱歉,这个问题很琐碎。
这是我在 Android Studio 中的代码。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="horizontal"
android:padding="16dp">
<ImageView
android:id="@+id/img_instagram"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:src="@drawable/ic_instagram" />
<ImageView
android:id="@+id/img_vk"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:layout_marginStart="8dp"
android:src="@drawable/ic_vk_crug" />
<ImageView
android:id="@+id/gmail"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:layout_marginStart="8dp"
android:src="@drawable/ic_icons8_gmail" />
</LinearLayout>
尝试用
设置两个gravity
android:gravity="center_horizontal|bottom"
顺便说一句。 layout_centerInParent
是 RelativeLayout
参数,在您的代码中是 no-op,您可以安全地删除所有出现的
添加文本比较复杂,因为您使用 LinearLayout
作为根用户。您应该切换到 RelativeLayout
或 ConstraintLayout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal|bottom"
android:padding="16dp">
<LinearLayout
android:id="@+id/llInstagram"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/tvInstagram"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Instagram">
</TextView>
<ImageView
android:id="@+id/img_instagram"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@mipmap/ic_launcher" />
</LinearLayout>
<LinearLayout
android:id="@+id/llVK"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/llInstagram"
android:orientation="vertical">
<TextView
android:id="@+id/tv_vk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="VK">
</TextView>
<ImageView
android:id="@+id/img_vk"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="8dp"
android:src="@mipmap/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/llVK"
android:orientation="vertical">
<TextView
android:id="@+id/tvgmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Gmail">
</TextView>
<ImageView
android:id="@+id/gmail"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="8dp"
android:src="@mipmap/ic_launcher" />
</LinearLayout>
</RelativeLayout>