這裏是快照我的應用程序是什麼樣子我的android應用程序佈局不適合不同的設備?
它適合在某些設備上,而不是其他人:
正如你所看到的,水平也符合得很好沒有有什麼關係。我怎樣才能確保它垂直完美?
這裏是我的XML代碼:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:layout_weight="1"
android:orientation="vertical" >
<TableRow
android:id="@+id/tableRow0"
android:layout_width="match_parent"
android:weightSum="1" >
<TextView
android:id="@+id/ResultText"
android:layout_width="0dp"
android:gravity="right"
android:background="#AAAAAA"
android:layout_weight="1"
android:textSize="20sp"
android:textColor="#FFFFFF"
android:layout_height="fill_parent"
android:maxLines="3"
android:scrollbars="vertical" />"
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:weightSum="1" >
<TextView
android:id="@+id/InputText"
android:layout_width="0dp"
android:background="#BBBBBB"
android:gravity="right"
android:textColor="#FFFFFF"
android:layout_weight="1"
android:layout_marginTop="4dp"
android:textSize="20sp"
android:maxLines="3"
android:scrollbars="vertical" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="fill_parent"
android:weightSum="1" >
<TextView
android:id="@+id/memoryStatText"
android:layout_width="0dp"
android:background="#BBBBBB"
android:gravity="right"
android:textColor="#FFFFFF"
android:layout_weight="1"
android:layout_marginTop="4dp"
android:textSize="15sp"
android:maxLines="3"
android:scrollbars="vertical" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="0.1"
android:weightSum="1" >
<Button
android:id="@+id/buttonMAdd"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:text="M+"
android:onClick="ProcessInput"
android:layout_height="wrap_content"
android:gravity="fill" />
<Button
android:id="@+id/buttonMRemove"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:text="M-"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/buttonMC"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:text="MC"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/buttonMR"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:text="MR"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/buttonClearAll"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:text="C"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/buttonDel"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:text="del"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/buttonPower"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:textSize="12sp"
android:text="pow"
android:gravity="fill"
android:onClick="ProcessInput"
android:layout_height="match_parent" />
<Button
android:id="@+id/buttonFactorial"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.166"
android:text="x!"
android:layout_height="match_parent"
android:onClick="ProcessInput"
android:gravity="fill" />
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="0.1"
android:weightSum="1" >
<Button
android:id="@+id/button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="1"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/button2"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="2"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/button3"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="3"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/button4"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="4"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/button5"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="5"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/button6"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="6"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/button7"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="7"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/button8"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="8"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/button9"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="9"
android:onClick="ProcessInput"
android:gravity="fill"
android:layout_height="match_parent" />"
<Button
android:id="@+id/button0"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="0"
android:onClick="ProcessInput"
android:gravity="fill"
android:layout_height="match_parent" />
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:weightSum="1"
android:layout_weight="0.1" >
<Button
android:id="@+id/buttonAdd"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="+"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/buttonSubtract"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="-"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/buttonDivide"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="/"
android:onClick="ProcessInput"
android:gravity="fill"
android:layout_height="match_parent" />
<Button
android:id="@+id/buttonMultiply"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="x"
android:onClick="ProcessInput"
android:gravity="fill"
android:layout_height="match_parent" />
<Button
android:id="@+id/buttonPeriod"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="."
android:onClick="ProcessInput"
android:gravity="fill"
android:layout_height="match_parent" />
<Button
android:id="@+id/buttonSign"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="±"
android:onClick="ProcessInput"
android:gravity="fill"
android:layout_height="match_parent" />
<Button
android:id="@+id/buttonEqual"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="="
android:onClick="ProcessInput"
android:layout_height="match_parent" />
<Button
android:id="@+id/buttonPercent"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:gravity="fill"
android:text="%"
android:layout_height="match_parent"
android:onClick="ProcessInput" />
<Button
android:id="@+id/buttonLog10"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="log"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/buttonLoge"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.1"
android:text="ln"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
</TableRow>
<TableRow
android:id="@+id/tableRow6"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:weightSum="1"
android:layout_weight="0.1" >
<Button
android:id="@+id/buttonSin"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:gravity="fill"
android:text="sin"
android:onClick="ProcessInput"
android:layout_height="match_parent" />
<Button
android:id="@+id/buttonCos"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:gravity="fill"
android:text="cos"
android:onClick="ProcessInput"
android:layout_height="match_parent" />
<Button
android:id="@+id/buttonTan"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:gravity="fill"
android:text="tan"
android:onClick="ProcessInput"
android:layout_height="match_parent" />
<Button
android:id="@+id/buttonSinInverse"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:textSize="8sp"
android:gravity="fill"
android:text="@string/sin_inv"
android:onClick="ProcessInput"
android:layout_height="match_parent"/>
<Button
android:id="@+id/buttonCosInverse"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:gravity="fill"
android:textSize="8sp"
android:text="@string/cos_inv"
android:onClick="ProcessInput"
android:layout_height="match_parent"/>
<Button
android:id="@+id/buttonTanInverse"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:gravity="fill"
android:textSize="8sp"
android:text="@string/tan_inv"
android:onClick="ProcessInput"
android:layout_height="match_parent"/>
<Button
android:id="@+id/buttonSquare"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:text="sqr"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
<Button
android:id="@+id/buttonSquareRoot"
style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_weight="0.125"
android:text="sqrt"
android:onClick="ProcessInput"
android:layout_height="match_parent"
android:gravity="fill" />
</TableRow>
</TableLayout>
</ScrollView>
即使我寫不同的屏幕布局不同的XML,我不認爲我可以改變任何東西。因爲我無法改變任何事情。我不會添加更多的按鈕或類似的東西。 另外,如果我設置按鈕,文字瀏覽等使用DP的準確大小,它仍然是一個問題,因爲那樣它將是設備特定的。
我有9行縱向模式和7橫向模式。我想在調用之前計算屏幕的高度和寬度。的setContentView(R.layout.main);然後計算縱向模式下的總高度/ 9和橫向模式下的高度/ 7。任何人都可以告訴我如何繼續?這是如何動態知道佈局是橫向還是縱向,以及如何爲行分配高度。
[編輯]
現在我有這個
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
double height = displaymetrics.heightPixels/9;
double width = displaymetrics.widthPixels/7;
int Orientation = getResources().getConfiguration().orientation;
if(Orientation == Configuration.ORIENTATION_LANDSCAPE)
{
Set height of all rows.
}
如何設置所有行的高度。
我無法發佈我的屏幕截圖,因爲我沒有足夠的信譽,請您編輯我的帖子 – user3404195
而且您還可以使用LinearLayout而不是表格Layout。 Arr水平或垂直顯示這些按鈕 – user8938
這並沒有幫助 – user3404195