如果你想創建一個預定義的寬度和高度,你的複選框,您可以使用此方法:
this.checkBox = new CheckBox(context);
this.checkBox.setLayoutParams(new LinearLayout.LayoutParams(width, height)); // or if your parent is RelativeLayout use RelativeLayout.LayoutParams(width, height)
注意 ,你的寬度和高度是以像素爲單位的。
如果你想改變現有佈局參數,可以你應該做這樣的事情:
private void setBoxSize(CheckBox checkBox) {
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) checkBox.getLayoutParams(); // or RelativeLayout.LayoutParams
params.height = yourHeightInPixels;
params.width = yourWidthInPixels;
checkBox.setLayoutParams(params);
}
編輯: 在這種情況下,如果你想改變複選框的按鈕的大小,你可以只使用這種方法之一
checkBox.setButtonDrawable(int resId);
checkBox.setButtonDrawable(Drawable d);
並設置您的drawables的大小。不幸的是,Android沒有操作按鈕的方法(就像你提到的 - 「盒子」)的複選框。提拉的
例如,使用作爲複選框的按鈕:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@drawable/ic_check_on" /> <!-- checked -->
<item android:state_checked="false"
android:drawable="@drawable/ic_check_off" />
</selector>
這看起來會改變實際複選框的大小。我不想更改複選框的大小,我想更改複選框內「框」的大小。如果這是有道理的。 – HXSP1947 2014-10-28 04:24:07
是否可以通過用圖像替換盒子來改變側面?如果是這樣,我該怎麼做?我已經得出這樣的結論,即改變尺寸可能是不可能的,如果是這樣的話,做起來並不容易。 – HXSP1947 2014-10-28 04:58:26
checkBox.setButtonDrawable(R.drawable.your_drawable_instead_box);你的drawable應該有你想要的大小。 – rom4ek 2014-10-28 05:13:54