我将如何添加使用代码动态包含不同对象的布局。
例如,我制作了一个完美的"预制"布局,它具有我需要的所有内容(其他布局,文本视图,按钮等)。
我希望能够在代码中重新创建完全相同的布局,因此,当我运行该应用程序时,它将创建许多这些。
有什么想法?
对于静态布局xml是首选的选择。但是,您可以在Java(或Kotlin)代码中动态创建代码中的任何布局。由于您没有要求进行特定的布局创建,因此我为您提供了一个示例代码,您可以在其中看到如何在Java中创建的情况而不夸大XML文件:
步骤1-为所有视图和ViewGroups创建Java对象
LinearLayout ll = new LinearLayout(Context object);
//上下文对象不过是在Android OS中访问系统资源和服务的一种方法(我们将使用'this')也是上下文是超级类活动
TextView tv = new TextView(Context object);
Button b = new Button(Context object);
步骤2-定义所有视图和视图组的尺寸。使用linearlayout.layoutparams对象为每个孩子指定布局信息
LinearLayout.LayoutParams dimensions = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
ll.setLayoutParams(dimensions);
LinearLayout.LayoutParams dimensions2 = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
tv.setLayoutParams(dimensions2);
b.setLayoutParams(dimensions2);
步骤3-设置我们的视图和视图组的其他属性,例如颜色,大小,重力等。
ll.setOrientation(LinearLayout.VERTICAL);
tv.setText("some text");
b.setText("Button");
步骤4-在各个顺序中添加所有视图
ll.addView(tv);
ll.addView(b);
步骤5-将内容视图设置为根布局。(通过调用活动中的setContentView()方法(活动的方法)
setContentView(ll);