Im trying to make a calculator app, and im using a grid view in a fragment for the numbers but i cant manage to make the buttons fill the part that they should trying in different devices.
<android.support.v7.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="419dp"
android:layout_margin="0dp"
android:padding="0dp"
app:columnCount="4"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="100"
app:rowCount="4"
app:useDefaultMargins="false">
<Button
android:id="@+id/but_7"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="AddBut"
android:text="7"
android:textSize="36sp" />
<Button
android:id="@+id/but_8"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:lineSpacingExtra="0sp"
android:onClick="AddBut"
android:text="8"
android:textSize="36sp" />
<Button
android:id="@+id/but_9"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="AddBut"
android:text="9"
android:textSize="36sp" />
<Button
android:id="@+id/but_div"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="ButOP"
android:text="÷"
android:textSize="36sp" />
<Button
android:id="@+id/but_4"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="AddBut"
android:text="4"
android:textSize="36sp" />
<Button
android:id="@+id/but_5"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="AddBut"
android:text="5"
android:textSize="36sp" />
<Button
android:id="@+id/but_6"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="AddBut"
android:text="6"
android:textSize="36sp" />
<Button
android:id="@+id/but_mult"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="ButOP"
android:text="x"
android:textSize="36sp" />
<Button
android:id="@+id/but_1"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="AddBut"
android:text="1"
android:textSize="36sp" />
<Button
android:id="@+id/but_2"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="AddBut"
android:text="2"
android:textSize="36sp" />
<Button
android:id="@+id/but_3"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="AddBut"
android:text="3"
android:textSize="36sp" />
<Button
android:id="@+id/but_min"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="ButOP"
android:text="-"
android:textSize="36sp" />
<Button
android:id="@+id/but_0"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="AddBut"
android:text="0"
android:textSize="36sp" />
<Button
android:id="@+id/but_dot"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="ButOP"
android:text="."
android:textSize="36sp" />
<Button
android:id="@+id/but_eq"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="ButOP"
android:text="="
android:textSize="36sp" />
<Button
android:id="@+id/but_plus"
android:layout_width="96sp"
android:layout_height="96sp"
android:layout_marginLeft="-3sp"
android:layout_marginTop="-5sp"
android:layout_marginRight="-3sp"
android:layout_marginBottom="-5sp"
android:onClick="ButOP"
android:text="+"
android:textSize="36sp" />
</android.support.v7.widget.GridLayout>
This is how i have the layout at the moment, it fits my phone, but it leaves margins in the nexus 5X emulator. I tried with rowWeight and columnWeight, but i dont know if it just simply works, or if im doing something wrong. Also tried changing between dp and sp... i tried a lot searching for how to use percentage based on secreen or similar, but none worked (or i couldnt make it work...)
What i want is the buttons to fill the width of the screen in any device, and make the height be the same as the width for each buton, like height=btn.getwidth(); i dont kknow if thats possible.
I know i sound like a exteme noob but im learning, so pls dont get angry with me.