使用四个 ImageButtons 创建 Layout/Screen(全部相同大小)
Create Layout/Screen with four ImageButtons (all of the same size)
我在创建仅包含四个 ImageButton 的 Android 布局时遇到了一个大问题。
它应该是这样的:
目前我创建了一个带有两个 LinearLayout 的 TableLayout(水平:每个包含两个按钮。)但是我通过设置确切的值来做到这一点:
<ImageButton
android:layout_width="178dp"
android:layout_height="260dp"
android:src="@drawable/personal_coach"
android:id="@+id/button_personal_coach"
android:layout_weight="0.25"
android:scaleType="fitXY"
android:background="?android:selectableItemBackground"
android:layout_marginRight="4dp"
/>
有更好的方法吗? (对于其他屏幕尺寸更动态,无需将宽度和高度设置为值)
试试这样的东西:
<?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:orientation="vertical"
android:weightSum="2">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:weightSum="2"
android:orientation="horizontal">
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:weightSum="2"
android:orientation="horizontal">
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
说明
这里我们使用 weight 属性,它根据权重按百分比划分屏幕。例如,在两个 children 中都输入 1 将使它们占据屏幕的 50%。这就是我们首先在垂直方向上做的,然后在每个按钮的水平方向上做的。
我在创建仅包含四个 ImageButton 的 Android 布局时遇到了一个大问题。
它应该是这样的:
目前我创建了一个带有两个 LinearLayout 的 TableLayout(水平:每个包含两个按钮。)但是我通过设置确切的值来做到这一点:
<ImageButton
android:layout_width="178dp"
android:layout_height="260dp"
android:src="@drawable/personal_coach"
android:id="@+id/button_personal_coach"
android:layout_weight="0.25"
android:scaleType="fitXY"
android:background="?android:selectableItemBackground"
android:layout_marginRight="4dp"
/>
有更好的方法吗? (对于其他屏幕尺寸更动态,无需将宽度和高度设置为值)
试试这样的东西:
<?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:orientation="vertical"
android:weightSum="2">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:weightSum="2"
android:orientation="horizontal">
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:weightSum="2"
android:orientation="horizontal">
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
说明
这里我们使用 weight 属性,它根据权重按百分比划分屏幕。例如,在两个 children 中都输入 1 将使它们占据屏幕的 50%。这就是我们首先在垂直方向上做的,然后在每个按钮的水平方向上做的。