我需要創建4個等寬連續的按鈕。我知道如何使用線性佈局和權重來做到這一點,但這對我來說並不完全可以接受。我還有一些與我的4個按鈕有關的其他視圖,所以我想在相對佈局中做所有事情。可能嗎?Android:在同一行中創建4個等寬的按鈕(相對佈局)
0
A
回答
1
將按鈕寬度設置爲標準大小如何?
<Button
android:width="75dp"
... />
加成
要在運行時發現顯示器的寬度:
int width = getWindowManager().getDefaultDisplay().getWidth()/4;
// Set this width to your buttons
+2
問題是,總屏幕寬度是特定於每個Android設備 –
0
選擇會告訴其他人具有相同的寬度和高度的觀點之一。爲了獲取一個視圖的大小,使用這樣的:
private static void runJustBeforeBeingDrawn(final View view, final Runnable runnable)
{
final ViewTreeObserver vto = view.getViewTreeObserver();
final OnPreDrawListener preDrawListener = new OnPreDrawListener()
{
@Override
public boolean onPreDraw()
{
Log.d(App.APPLICATION_TAG, CLASS_TAG + "onpredraw");
runnable.run();
final ViewTreeObserver vto = view.getViewTreeObserver();
vto.removeOnPreDrawListener(this);
return true;
}
};
vto.addOnPreDrawListener(preDrawListener);
}
0
我不知道肯定,但我認爲,只有這樣,你可以做到這一點,沒有重量標籤,是運行時/以編程方式設置它。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="numberOfButtons">4</integer>
</resources>
而且,在適配器/ Activity類,類似如下::我通過在integer.xml設定恆定,像下面這樣做
DisplayMetrics dm = new DisplayMetrics();
// dm holds your structure of resolution
context.getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.getWidth();
btn1.setWidth(width/getInteger(R.integer.numberOfButtons));
btn2.seTwidth(width/getInteger(R.integer.numberOfButtons));
btn3.seTwidth(width/getInteger(R.integer.numberOfButtons));
btn4.seTwidth(width/getInteger(R.integer.numberOfButtons));
希望這能以某種方式幫助你。
+0
正如尤里先前所述,每個安卓設備都有其自己的分辨率/屏幕大小。該值可以通過「DisplayMetrics」類獲得。 – mthama
相關問題
- 1. Android - 多個佈局的相同按鈕
- 2. 同一行中的兩個按鈕>線性佈局內的相對佈局
- 3. 在相對佈局中創建佈局
- 4. 問題在佈局(Android)中創建了一個按鈕?
- 5. 使用重量的按鈕寬度的Android相對佈局
- 6. 相等的寬度並在自動佈局按鈕之間相等的間隔
- 7. XML表格佈局?兩個等寬的行填充了等寬的按鈕?
- 8. Android中的佈局4按鈕
- 9. Android相對佈局網格按鈕
- 10. 在相對佈局中添加按鈕
- 11. 如何在相對佈局的中心放置一個按鈕?
- 12. 創建一個帶自定義佈局的按鈕android
- 13. Android的佈局 - 按鈕寬度
- 14. 調整相對佈局中的按鈕
- 15. 在android中創建一個佈局
- 16. Android相對佈局:按鈕佈局參數衝突
- 17. 使用android中的兩個佈局創建動態按鈕
- 18. Android按鈕寬度的一半可用寬度 - 佈局
- 19. 在Android中的相對佈局上使用單選按鈕
- 20. 如何創建等寬的按鈕?
- 21. 在另一個佈局中引用一個佈局的按鈕
- 22. 相對佈局按鈕互相覆蓋
- 23. 具有相同寬度的多個按鈕等於最寬按鈕
- 24. 在PreferenceActivity創建的佈局中獲取對按鈕的引用
- 25. 創建動態按鈕,並在佈局中的Android
- 26. 如何在android中創建線性佈局和中心按鈕?
- 27. 在表佈局列的寬度相等Android中使用不同的組件
- 28. Android - 線性/相對佈局,同一行和下一行
- 29. RadioGroup中具有相對的Android佈局內的單選按鈕
- 30. 同樣具有相等寬度的約束分隔兩個按鈕寬度與自動佈局
將你的按鈕放入'LinearLayout'中,並將'LinearLayout'放入'RelativeLayout'中。或者你的意思是你的觀點必須與特定的'Button'相關? – Squonk
@MisterSquonk是的,視圖是相對於一個特定的按鈕。實際上,我可以在RelativeLayout中放置一個LinearLayout,然後用它自己的RelativeLayout包裝每個Button,但這很奇怪,聽起來像是「layoutCeption」:) –
也許你應該添加更多關於整個佈局的細節。然後我們可以提供更完整的建議。試圖讓沒有LinearLayout的按鈕具有相同的長度會造成麻煩。 – you786