我试图创建一个简单的计算器。我所拥有的是一个垂直线性布局,其中包含许多其他水平线性布局。在每个水平布局中,有5个元素。然而,在其中一个中,有4个而不是5个,所以我认为我可以做的是将按钮的比例缩小到另一个的两倍,但让它占据屏幕的40%。但结果并不像我想要的那样。这是我的布局代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="5"
android:orientation="horizontal">
<Button
android:id="@+id/negative"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:minHeight="63dp"
android:minWidth="63dp"
android:shadowColor="#A8A8A8"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="1"
android:text="+/-"
android:textColor="#FFFFFF"
android:textSize="30sp" />
<Button
android:id="@+id/zero"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:minHeight="63dp"
android:minWidth="63dp"
android:shadowColor="#A8A8A8"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3"
android:text="0"
android:textColor="#FFFFFF"
android:textSize="30sp" />
<Button
android:id="@+id/dot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:minHeight="63dp"
android:minWidth="63dp"
android:shadowColor="#A8A8A8"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3"
android:text="."
android:textColor="#FFFFFF"
android:textSize="30sp" />
<Button
android:id="@+id/equals"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:background="@drawable/buttonshape"
android:minHeight="63dp"
android:minWidth="63dp"
android:shadowColor="#A8A8A8"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3"
android:text="="
android:textColor="#FFFFFF"
android:textSize="30sp" />
</LinearLayout>
答案 0 :(得分:2)
为每个按钮设置:
android:layout_width="0dp"
答案 1 :(得分:1)
使用以下代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="5"
android:orientation="horizontal">
<Button
android:id="@+id/negative"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:minHeight="63dp"
android:minWidth="63dp"
android:shadowColor="#A8A8A8"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="1"
android:text="+/-"
android:textColor="#FFFFFF"
android:textSize="30sp" />
<Button
android:id="@+id/zero"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:minHeight="63dp"
android:minWidth="63dp"
android:shadowColor="#A8A8A8"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3"
android:text="0"
android:textColor="#FFFFFF"
android:textSize="30sp" />
<Button
android:id="@+id/dot"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/buttonshape"
android:minHeight="63dp"
android:minWidth="63dp"
android:shadowColor="#A8A8A8"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3"
android:text="."
android:textColor="#FFFFFF"
android:textSize="30sp" />
<Button
android:id="@+id/equals"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:background="@drawable/buttonshape"
android:minHeight="63dp"
android:minWidth="63dp"
android:shadowColor="#A8A8A8"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="3"
android:text="="
android:textColor="#FFFFFF"
android:textSize="30sp" />
</LinearLayout>