Also ich habe ein GridLayout - es verwendet Gewicht, um sich richtig zu verteilen. Das Problem ist, dass es nicht richtig auf einigen Geräten nicht angezeigt - zum Beispiel auf Xperia E3 (480 x 854, 218 DPI) oder 3.7" FWVGA Schieber im DesignerGridLayout zeigt nur eine Spalte auf einigen DPI
Hier ist, wie es immer so aussehen soll:.
Hier ist, wie es aus wie auf einigen Geräten aussieht (nur erste Spalte von Gridlayout sichtbar ist und es wird über die rechte Seite des Bildschirms gestreckt selbst):
Hier ist der XML, im Grunde enthält Grid Tasten und die Hauptsache ist hier, dass jeder Knopf hat android:layout_columnWeight="1" android:layout_rowWeight="1"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.3">
...
</RelativeLayout>
<!--Bottom part (buttons)-->
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="0.7"
android:orientation="vertical">
<!--Scroll bar with all the different functions and constants-->
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:layout_marginBottom="5dp">
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbarAlwaysDrawHorizontalTrack="false">
...
</GridLayout>
</HorizontalScrollView>
<!--THIS IS THE PROBLEM Main buttons for the calculator THIS IS THE PROBLEM-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.9">
<GridLayout
android:id="@+id/mainBtnGrid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:rowCount="5"
android:columnCount="5"
android:orientation="vertical">
<Button
android:id="@+id/btnClear"
android:background="@drawable/button_main"
style="@style/button_main_calculator"
android:text="C"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnSeven"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="7"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnFour"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="4"
android:layout_columnWeight="1"
android:layout_rowWeight="1"/>
<Button
android:id="@+id/btnOne"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="1"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnSign"
android:background="@drawable/button_main"
style="@style/button_main_calculator"
android:text="±"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnBack"
android:background="@drawable/button_main"
style="@style/button_main_calculator"
android:text="B"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnEight"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="8"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnFive"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="5"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnTwo"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="2"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnZero"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="0"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnTypingPositionSwitch"
android:background="@drawable/button_main"
style="@style/button_main_calculator"
android:text="M"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnNine"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="9"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnSix"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="6"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnThree"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="3"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnDecimal"
android:background="@drawable/button_main"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="."
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Space
android:layout_width="5dp" />
<Space
android:layout_width="5dp" />
<Space
android:layout_width="5dp" />
<Space
android:layout_width="5dp" />
<Space
android:layout_width="5dp" />
<Button
android:id="@+id/btnDivide"
android:background="@drawable/button_operator"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="/"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnMultiply"
android:background="@drawable/button_operator"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="x"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnSubtract"
android:background="@drawable/button_operator"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="-"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnAdd"
android:background="@drawable/button_operator"
android:onClick="Button_OnClick"
style="@style/button_main_calculator"
android:text="+"
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
<Button
android:id="@+id/btnEquals"
android:background="@drawable/button_operator"
style="@style/button_main_calculator"
android:text="="
android:layout_columnWeight="1"
android:layout_rowWeight="1" />
</GridLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
Ich habe keine Ahnung, was damit zu tun, ich meine, es ist nicht ständig passiert! Vielen Dank für das Lesen, ich werde alle Vorschläge sehr schätzen.
'android: layout_columnWeight' und' android: layout_rowWeight' werden nicht unterstützt vor Android API 21, haben Sie die Android-Version Ihres Geräts überprüft? –
Ja. Ich habe es auf Emulatoren mit API 25 getestet. Als ich es auf einem physischen Gerät mit API 19 getestet habe, habe ich versucht, GridLayout aus der Support-Bibliothek zu verwenden, und das Ergebnis war das gleiche. – ResoDev