Android:按钮的 match_parent 在线性布局中不起作用
Android: Button's match_parent doesn't work inside Linear Layout
我正在努力更新我的 Android App Uno 计算器,但似乎存在一个问题,即 + 和 - 按钮不占用 LinearLayout
的宽度。这是出乎意料的,因为我已将两个按钮的属性设置为具有 match_parent
高度。下面是 XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:weightSum="1"
android:background="#ffffffff"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="right|top">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout3"
android:orientation="horizontal"
android:weightSum="1"
android:orientation="horizontal"
android:layout_above="@+id/linearLayout4"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="#ff989898">
<Button
android:text="1"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/button1HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="2"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/button2HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"
android:onClick="appendCharacter" />
<Button
android:text="3"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/button3HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="+"
android:layout_width="0dp"
android:layout_weight=".16667"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:textAllCaps="false"
android:id="@+id/buttonPlusHRegular"
android:fontFamily="serif"
android:background="#ff989898"
android:layout_height="match_parent"
android:onClick="appendCharacter" />
<Button
android:text="-"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/butonMinusHRegular"
android:fontFamily="serif"
android:background="#ff989898"
android:layout_height="match_parent"
android:onClick="appendCharacter" />
<Button
android:text="("
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonLeftParenHRegular"
android:fontFamily="serif"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout4"
android:orientation="horizontal"
android:weightSum="1"
android:layout_above="@+id/linearLayout5"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<Button
android:text="4"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/button4Hregular"
android:fontFamily="serif"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter"
/>
<Button
android:text="5"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/button5Hregular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="6"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/button6HRegular"
android:background="#ffd0d0d0"
android:fontFamily="serif"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="*"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonTimesHRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter"
/>
<Button
android:text="/"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonSlashHRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text=")"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonRightParenHRegular"
android:background="#ff989898"
android:fontFamily="serif"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout5"
android:orientation="horizontal"
android:weightSum="1"
android:layout_above="@+id/linearLayout6"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<Button
android:text="7"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/button7HRegular"
android:background="#ffd0d0d0"
android:fontFamily="serif"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="8"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/button8HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="9"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/button9HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="+/-"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/buttonPlusMinusHRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="%"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/buttonPrecentHRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="^"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/buttonHPowerRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout6"
android:orientation="horizontal"
android:weightSum="1"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
>
<Button
android:text="0"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/button0HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="."
android:layout_width="0dp"
android:layout_weight="0.16667"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/buttonDotHRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="Clear"
android:layout_width="0dp"
android:layout_weight="0.16667"
android:textAllCaps="false"
android:id="@+id/buttonClearHRegular"
android:fontFamily="serif"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="clear" />
<Button
android:text="="
android:layout_width="0dp"
android:textAllCaps="false"
android:layout_weight="0.5"
android:fontFamily="serif"
android:id="@+id/buttonEqualsHRegular"
android:background="#fffdb64b"
android:layout_height="wrap_content"
android:onClick="displayResult" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout2"
android:orientation="horizontal"
android:weightSum="1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<Button
android:text="Mode"
android:layout_width="0dp"
android:layout_weight="0.50"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/buttonModeHRegular"
android:background="#ffb2b2b2"
android:layout_height="wrap_content"
android:onClick="modeMenu" />
<Button
android:text="Uno"
android:layout_width="0dp"
android:layout_weight="0.50"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/buttonUnoHRegular"
android:background="#ffb2b2b2"
android:layout_height="wrap_content"
android:onClick="unoMenu" />
</LinearLayout>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editPRegular"
android:hint="@string/hint"
android:fontFamily="serif"
android:editable="false"
android:textSize="24dp"
android:background="#00000000"
android:gravity="bottom|left"
android:layout_above="@+id/linearLayout3"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp" />
<Button
android:layout_width="22dp"
android:layout_height="22dp"
android:text="X"
android:id="@+id/deleteButton"
android:background="@drawable/circlebutton"
android:layout_marginLeft="5dp"
android:layout_below="@+id/linearLayout2"
android:fontFamily="serif"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="5dp"
android:onClick="deleteCharacter"
android:layout_marginRight="5dp" />
<HorizontalScrollView
android:layout_width="wrap_content"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:layout_height="wrap_content"
android:id="@+id/horizontalScrollView"
android:layout_alignTop="@+id/deleteButton"
android:layout_toRightOf="@+id/deleteButton"
android:layout_alignEnd="@+id/editPRegular">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/questionButton"
android:freezesText="true"
android:textSize="16dp"
android:fontFamily="serif"
android:layout_below="@+id/linearLayout7"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="5dp"
android:layout_marginTop="7dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:layout_toRightOf="@+id/deleteButton"
android:layout_toEndOf="@+id/deleteButton"
android:gravity="center_vertical" />
</HorizontalScrollView>
</RelativeLayout>
你忘记做统一了。这不是 + 和 - 中的问题。问题出在 * 和 / 中。
android:fontFamily="serif"
<Button
android:text="*"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonTimesHRegular"
android:background="#ff989898"
android:fontFamily="serif"
android:layout_height="wrap_content"
android:onClick="appendCharacter"
/>
<Button
android:text="/"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonSlashHRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:fontFamily="serif"
android:onClick="appendCharacter" />
我正在努力更新我的 Android App Uno 计算器,但似乎存在一个问题,即 + 和 - 按钮不占用 LinearLayout
的宽度。这是出乎意料的,因为我已将两个按钮的属性设置为具有 match_parent
高度。下面是 XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:weightSum="1"
android:background="#ffffffff"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="right|top">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout3"
android:orientation="horizontal"
android:weightSum="1"
android:orientation="horizontal"
android:layout_above="@+id/linearLayout4"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="#ff989898">
<Button
android:text="1"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/button1HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="2"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/button2HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"
android:onClick="appendCharacter" />
<Button
android:text="3"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/button3HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="+"
android:layout_width="0dp"
android:layout_weight=".16667"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:textAllCaps="false"
android:id="@+id/buttonPlusHRegular"
android:fontFamily="serif"
android:background="#ff989898"
android:layout_height="match_parent"
android:onClick="appendCharacter" />
<Button
android:text="-"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/butonMinusHRegular"
android:fontFamily="serif"
android:background="#ff989898"
android:layout_height="match_parent"
android:onClick="appendCharacter" />
<Button
android:text="("
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonLeftParenHRegular"
android:fontFamily="serif"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout4"
android:orientation="horizontal"
android:weightSum="1"
android:layout_above="@+id/linearLayout5"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<Button
android:text="4"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/button4Hregular"
android:fontFamily="serif"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter"
/>
<Button
android:text="5"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/button5Hregular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="6"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/button6HRegular"
android:background="#ffd0d0d0"
android:fontFamily="serif"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="*"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonTimesHRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter"
/>
<Button
android:text="/"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonSlashHRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text=")"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonRightParenHRegular"
android:background="#ff989898"
android:fontFamily="serif"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout5"
android:orientation="horizontal"
android:weightSum="1"
android:layout_above="@+id/linearLayout6"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<Button
android:text="7"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/button7HRegular"
android:background="#ffd0d0d0"
android:fontFamily="serif"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="8"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/button8HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="9"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/button9HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="+/-"
android:layout_width="0dp"
android:layout_weight=".16667"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/buttonPlusMinusHRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="%"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/buttonPrecentHRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="^"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/buttonHPowerRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout6"
android:orientation="horizontal"
android:weightSum="1"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
>
<Button
android:text="0"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/button0HRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="."
android:layout_width="0dp"
android:layout_weight="0.16667"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/buttonDotHRegular"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="appendCharacter" />
<Button
android:text="Clear"
android:layout_width="0dp"
android:layout_weight="0.16667"
android:textAllCaps="false"
android:id="@+id/buttonClearHRegular"
android:fontFamily="serif"
android:background="#ffd0d0d0"
android:layout_height="wrap_content"
android:onClick="clear" />
<Button
android:text="="
android:layout_width="0dp"
android:textAllCaps="false"
android:layout_weight="0.5"
android:fontFamily="serif"
android:id="@+id/buttonEqualsHRegular"
android:background="#fffdb64b"
android:layout_height="wrap_content"
android:onClick="displayResult" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout2"
android:orientation="horizontal"
android:weightSum="1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<Button
android:text="Mode"
android:layout_width="0dp"
android:layout_weight="0.50"
android:textAllCaps="false"
android:fontFamily="serif"
android:id="@+id/buttonModeHRegular"
android:background="#ffb2b2b2"
android:layout_height="wrap_content"
android:onClick="modeMenu" />
<Button
android:text="Uno"
android:layout_width="0dp"
android:layout_weight="0.50"
android:fontFamily="serif"
android:textAllCaps="false"
android:id="@+id/buttonUnoHRegular"
android:background="#ffb2b2b2"
android:layout_height="wrap_content"
android:onClick="unoMenu" />
</LinearLayout>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editPRegular"
android:hint="@string/hint"
android:fontFamily="serif"
android:editable="false"
android:textSize="24dp"
android:background="#00000000"
android:gravity="bottom|left"
android:layout_above="@+id/linearLayout3"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp" />
<Button
android:layout_width="22dp"
android:layout_height="22dp"
android:text="X"
android:id="@+id/deleteButton"
android:background="@drawable/circlebutton"
android:layout_marginLeft="5dp"
android:layout_below="@+id/linearLayout2"
android:fontFamily="serif"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="5dp"
android:onClick="deleteCharacter"
android:layout_marginRight="5dp" />
<HorizontalScrollView
android:layout_width="wrap_content"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:layout_height="wrap_content"
android:id="@+id/horizontalScrollView"
android:layout_alignTop="@+id/deleteButton"
android:layout_toRightOf="@+id/deleteButton"
android:layout_alignEnd="@+id/editPRegular">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/questionButton"
android:freezesText="true"
android:textSize="16dp"
android:fontFamily="serif"
android:layout_below="@+id/linearLayout7"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="5dp"
android:layout_marginTop="7dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:layout_toRightOf="@+id/deleteButton"
android:layout_toEndOf="@+id/deleteButton"
android:gravity="center_vertical" />
</HorizontalScrollView>
</RelativeLayout>
你忘记做统一了。这不是 + 和 - 中的问题。问题出在 * 和 / 中。
android:fontFamily="serif"
<Button
android:text="*"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonTimesHRegular"
android:background="#ff989898"
android:fontFamily="serif"
android:layout_height="wrap_content"
android:onClick="appendCharacter"
/>
<Button
android:text="/"
android:layout_width="0dp"
android:layout_weight=".16667"
android:textAllCaps="false"
android:id="@+id/buttonSlashHRegular"
android:background="#ff989898"
android:layout_height="wrap_content"
android:fontFamily="serif"
android:onClick="appendCharacter" />