到目前为止,在所有的章节中,我们所看见的UI都是通过XML来实现的。之前也提及过,除了使用XML,也 可以使用代码来实现UI界面。这个方式是很有用的,比如你的UI需要在运行时被生成。举个例子,假设你在 编写一个“电影票的预定系统”,你的程序使用按钮Buttons去显示每个电影院的座位。在这种情况下,你就 会需要依据实际情况去动态地生成UI。
下面的例子将会展示如何通过编码,动态地在Activity中生成 UI。
1. 创建一个工程:UICode。
2. UICodeActivity.java中的代码。
public class UICodeActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); LayoutParams params = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); TextView tv = new TextView(this); tv.setText("This is a TextView"); tv.setLayoutParams(params); Button btn = new Button(this); btn.setText("This is a Button"); btn.setLayoutParams(params); layout.addView(tv); layout.addView(btn); LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT ); this.addContentView(layout, layoutParam); } }
3. 按F11调试,效果图如下。
开发入门(九)用户界面 9.1 纯编码实现UI-mastercam9.1入门教程">
在这个例子中,首先要把setContentView()方法注释掉,目的是不让Activity去加载main.xml中的UI视图。
然后,创建一个LayoutParams对象,这个对象指定了布局的属性。
LayoutParams params = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
也要创建一个LinearLayout对象,这个对象包含了 activity中的所有视图。
LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL);
然后,创建一个TextView和一个Button。
TextView tv = new TextView(this); tv.setText("This is a TextView"); tv.setLayoutParams(params); Button btn = new Button(this); btn.setText("This is a Button"); btn.setLayoutParams(params);
然后,把它们加到LinearLayout对象中去。
layout.addView(tv); layout.addView(btn);
同时,也要创建一个LayoutParams对象,供LinearLayout对象使用。
LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT );
最后,把这个LinearLayout对象添加到Activity中去 。
this.addContentView(layout, layoutParam);
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索button
, 对象
, linearlayout动态布局
, textview
, layout
, 电影院座位管理
, layoutparams
, linearlayout
, setlayoutparams
, android linearlayout
, 动态textview
android纯代码布局
mastercam9.1入门教程、mastercam9.1入门、mastercam9.1编程入门、mill9.1编程入门教程、ui设计入门到精通教程,以便于您获取更多的相关知识。