Android创建工程的第一步,你必须了解到的知识点!

来源:互联网 发布:网络使人们更疏远 编辑:程序博客网 时间:2024/06/09 19:33

Android控制UI界面的三种方法

第一种:使用纯XML布局文件控制,缺点:无法动态改变UI的内容   

代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >


    <EditText
        android:id="@+id/et1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="text"
        android:singleLine="true"
        android:ems="10" >
        <requestFocus />
    </EditText>
    <EditText
        android:id="@+id/et2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10" />
 <Button
        android:id="@+id/btn_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="登录" />
</LinearLayout>

第二种:使用纯Java代码控制,缺点:过程繁琐,且很难直观的看到所设计的UI界面

代码如下:

//1.创建布局管理器
        FrameLayout frame=new FrameLayout(this);
        //2.调用setContentView()将FrameLayout关联
        setContentView(frame);
        //创建一个控件
        TextView tv=new TextView(this);
        tv.setText("我是通过java代码控制生成的文本控件");
        //将创建的控件添加到布局管理器
        frame.addView(tv);

第三种:使用XML+Java混编的模式控制UI界面,注:结合了前两种的最优方式

代码如下:

public class MainActivity extends Activity {
private Button btn_click;
private TextView tv_content;
private int  i;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    //调用父类的方法
        super.onCreate(savedInstanceState);
        //关联XML文件
        setContentView(R.layout.activity_main);
        tv_content=(TextView) findViewById(R.id.tv_content);
        btn_click=(Button) findViewById(R.id.btn_click);
        btn_click.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(i>5){
Toast.makeText(MainActivity.this, "不能在点我了,再点我就坏了!", Toast.LENGTH_LONG).show();
btn_click.setClickable(false);
btn_click.setText("我已经被点坏了!");
}
tv_content.setText("你已经点了我"+i+"下了!");
tv_content.setTextSize(i+10);
i++;

}
});

通过以上的三种方法比较可知:第三种结合了前两者的优势,将控件在xml布局文件中布局好了和控件的状态改变在Java代码中可以很方便地实现,因此我们一般使用第三种方式来创建Android工程。


0 0
原创粉丝点击