0

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

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

XML Checkbox xml 复选框图像 http://redsquirrelsoftware.co.uk/xml.jpg

Java Checkbox java 复选框图像 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);
4

3 回答 3

0

How about adding padding? checkbox.setPadding(0,0,30,0);

于 2012-12-29T22:28:29.023 回答
0

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

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

于 2012-12-30T20:54:14.713 回答
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);
于 2012-12-30T02:08:52.263 回答