Reputation: 47
I'm trying to create a simple calculator. What I have is a vertical linear layout that contains bunch of other horizontal linear layouts. In each horizontal layout, there are 5 elements. However, in one of them, there is 4 instead of 5, so what I thought I could do is scale of the buttons to twice the size of the other but having it occupy 40% of the screen. But the results are not as I want them. Here is my layout code:
<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>
I have tried the weightSum, but that is not working either.
Upvotes: 0
Views: 78
Reputation: 1764
Use below Code:
<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>
Upvotes: 1