我需要通過Java代碼爲我的Android應用程序實現Dialog,因此我無法使用XML。如何以編程方式設置按鈕的權重
我有根LinearLayout
在那裏我實現了範圍搜索欄,然後我有另一個LinearLayout
在根佈局下,水平方向,我想在同一行中添加兩個按鈕。所以我需要設置權重爲1,寬度爲FILL_PARENT
,高度爲WRAP_CONTENT
。
我如何用Java代碼做到這一點?
我需要通過Java代碼爲我的Android應用程序實現Dialog,因此我無法使用XML。如何以編程方式設置按鈕的權重
我有根LinearLayout
在那裏我實現了範圍搜索欄,然後我有另一個LinearLayout
在根佈局下,水平方向,我想在同一行中添加兩個按鈕。所以我需要設置權重爲1,寬度爲FILL_PARENT
,高度爲WRAP_CONTENT
。
我如何用Java代碼做到這一點?
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
p.weight = 1;
rangeSeekBar.setLayoutParams(p);
我不確定你想在哪個視圖上設置佈局參數。我只是假設rangeSeekbar來展示一個例子。如果你需要改變。
當使用佈局PARAMS總是使用root的參數類型..
例。如果你有你想要的RelativeLayout
使用RelativeLayout.LayoutParams
內PARAMS適用於View
..
你可以將它作爲LinearLayout.LayoutParams構造的一部分: 你的意思是WRAP_CONTENT?
LayoutParams param = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT, 1.0f);
1.0F是重量
沒有使用XML的要求?如果沒有,您可以始終使用XML構建佈局,然後在運行時使用LayoutInflater
構建視圖層次結構,並將其傳遞到對話框上的setView()
。
例如:
LayoutInflater inflater = LayoutInflater.from(getActivity());
View v = inflater.inflate(R.layout.my_dialog_layout, null);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(v);
這工作,謝謝。 – Zookey
謝謝你,這個作品 –