Android Checkbox边框使用Java消失

时间:2012-12-29 21:14:01

标签: java android checkbox border

我正在制作一个带有复选框的Android应用程序。我使用XML文件添加了几个示例,只是为了让布局看起来像我想要的那样。当我在使用XML文件时放置一个复选框时,它周围有一个边框,但是当我使用Java以编程方式添加复选框时,它会摆脱它周围的边框,使得几乎不可能看到复选框。

我想知道的是如何将复选框格式化为与XML样式相同?可以使用LayoutParams完成,还是有其他方法可以做到这一点?我已经阅读过关于setButtonDrawable或其他什么,但不知道如何去做,有人可以指点我一个基础教程,如果这是要走的路吗?

XML复选框 xml checkbox image http://redsquirrelsoftware.co.uk/xml.jpg

Java Checkbox java checkbox image http://redsquirrelsoftware.co.uk/java.jpg

XML代码

<CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="30dp"
        android:text="@string/checkbox" />

Java代码:

 CheckBox checkbox = new CheckBox(this);
    checkbox.setText(R.string.checkbox);
    checkbox.setTextSize(TypedValue.COMPLEX_UNIT_PT, 10);
    checkbox.setTextColor(Color.BLACK);

3 个答案:

答案 0 :(得分:0)

添加填充怎么样?     checkbox.setPadding(0,0,30,0);

答案 1 :(得分:0)

我试过这个并且有效,也许是因为你没有设置LayoutParams

CheckBox checkbox = new CheckBox(this);
checkbox.setText("completed");
checkbox.setTextSize(TypedValue.COMPLEX_UNIT_PT, 10);
checkbox.setTextColor(Color.BLACK);
checkbox.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

LinearLayout layout = (LinearLayout)findViewById(R.id.layoutku);
layout.addView(checkbox);

答案 2 :(得分:0)

好吧,它实际上是在XML文件中使用的标准Checkbox样式,但只有当我关闭应用程序并再次重新打开它时。我猜这可能是因为我在开发人员模式下通过USB从Eclipse运行它。

一旦我将其上传到Play商店并查看它是否按预期工作,我会对其进行测试。如果应用程序必须在正确显示之前重新打开,这不是世界上最大的问题。