Java Android动态用户界面
我是android开发的新手,我有些问题 我想先创建一个用户界面,我有一个关于添加动态字段的问题。我已经在使用XML设置接口,但我不知道如何继续 例如,用户可以选择1、2、3或4,根据选择,我希望对话框显示编辑文本的数量。同样的事情以后也会发生。一个表格将在标题处显示文本视图的数量 有没有一种方法可以通过使用一些XML和java来做到这一点?因为我相信,如果只使用java,那么设计不同的东西会很痛苦 如果您需要更多信息,请告诉我Java Android动态用户界面,java,android,xml,Java,Android,Xml,我是android开发的新手,我有些问题 我想先创建一个用户界面,我有一个关于添加动态字段的问题。我已经在使用XML设置接口,但我不知道如何继续 例如,用户可以选择1、2、3或4,根据选择,我希望对话框显示编辑文本的数量。同样的事情以后也会发生。一个表格将在标题处显示文本视图的数量 有没有一种方法可以通过使用一些XML和java来做到这一点?因为我相信,如果只使用java,那么设计不同的东西会很痛苦 如果您需要更多信息,请告诉我 提前感谢您应该检查视图的可见性属性 如果您有一组固定的ui元素(例
提前感谢您应该检查视图的
可见性
属性
如果您有一组固定的ui元素(例如,5个按钮),您可以将它们包括在布局中,并在以后使用setVisibility(View.Visible)
显示它们
但是,如果您有动态数量的元素(用户可以从1到n个按钮中进行选择),那么您必须用Java实现它。您仍然可以在部分工作中使用XML布局,但大多数工作都必须手工完成。我已经编写了一个示例代码,看看它是否对您有帮助
public class ActivityMain extends Activity {
LinearLayout main;
private int id = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
main = (LinearLayout) findViewById(R.id.parent);
main.setOrientation(LinearLayout.VERTICAL);
final EditText editText = (EditText) findViewById(R.id.et_count);
Button button = (Button) findViewById(R.id.btn);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
final int count = Integer.parseInt(editText.getText()
.toString());
addEditText(count);
}
});
}
private void addEditText(int count) {
for (int i = 0; i < count; i++) {
LinearLayout editTextLayout = new LinearLayout(this);
editTextLayout.setOrientation(LinearLayout.VERTICAL);
main.addView(editTextLayout);
EditText editText1 = new EditText(this);
editText1.setId(id++);
editTextLayout.addView(editText1);
}
}
}
您可以将所有的附件/循环逻辑放在java中,但只需膨胀现有的xml资源,因此无需在java层中设置样式等。布朗托克,我理解你的密码。我仍然无法理解的是,在我们使用ur方法添加所有这些edittext之后,如何使用预定义的XML对它们进行样式化?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/parent"
android:padding="10dp" >
<EditText
android:id="@+id/et_count"
android:layout_width="100dp"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit" />
</LinearLayout>
editTextLayout.setTextAppearance(getApplicationContext(), R.style.boldText);