![](/img/trans.png)
[英]Android app dynamically added button is different colour to layout buttons
[英]applying layout preferences to dynamically added buttons in android radiogroup
我試圖研究所有可能的答案,但我真的不知道如何繼續。 我正在動態地將單選按鈕創建到單選組中
for (int i = 0; i < keys.length; i++) {
final RadioButton rdbtn = new RadioButton(this);
rdbtn.setId(View.generateViewId());
rdbtn.setText(keys[i]);
rdbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectedWH = rdbtn.getText().toString();
}
});
mRgAllButtons.addView(rdbtn);
}
我想將此樣式應用於按鈕
<RadioButton
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginStart="60dp"
android:layout_marginEnd="60dp"
android:background="@drawable/radio_pressed"
android:button="@android:color/transparent"
android:textAlignment="center"
android:textColor="@color/colorPrimary"
android:textSize="18sp"
android:textStyle="bold" />
非常感謝任何幫助。
ViewGroup.MarginLayoutParams marginLayoutParams = new ViewGroup.MarginLayoutParams(yourWidth, yourHeight);
marginLayoutParams.leftMargin = yourLeftMargin;
marginLayoutParams.rightMargin = yourRightMargin;
rdbtn.setLayoutParams(marginLayoutParams);
將此添加到您的代碼中,以便為您動態創建的視圖設置布局參數,您必須為其創建 LayoutParams。 在那里你可以設置任何你想要的邊距。
這是一個簡單的方法。 您可以從 XML 創建一個RadioButton
視圖實例,以便它具有您想要的樣式。
RadioButton
元素和樣式創建 XML 布局 - 正是您所提到的。 LayoutInflater inflater = LayoutInflater.from(context);
for (int i = 0; i < keys.length; i++) {
final RadioButton rdbtn = inflater.inflate(R.layout.layout_name, mRgAllButtons, false);
// mRgAllButtons - parent of this view.
// attachToParent - false - add to the parent manually.
rdbtn.setId(View.generateViewId());
rdbtn.setText(keys[i]);
rdbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectedWH = rdbtn.getText().toString();
}
});
mRgAllButtons.addView(rdbtn);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.