如果你想创建一个预定义的宽度和高度,你的复选框,您可以使用此方法:
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