Android 控制UI界面的方法
控制UI界面的方法
4种控制UI界面的方法
- 使用XML布局文件
- Java代码
- 使用XML和Java代码混合
- 开发自定义的View
最推荐方法一。
使用XML布局文件控制UI界面
好处:把布局代码写在XML布局文件中,与逻辑结构的Java代码分离开
步骤:
- 在Android应用的res/layout的目录下编写XML布局文件,注意将activity_main的第二行RelativeLayout改写FrameLayout。
Framelayout框架布局,层叠式,有点像堆栈,先进在底层,会被后进的覆盖。
RelativeLayout相对布局,控件的位置通过各个控件之间的相对距离来确定。
GridLayout为网格布局管理器。
在Activity中使用Java代码显示XML文件中布局的内容
setContentView(R.layout.activity_main);//activity_main为布局文件的名称,注意不用写扩展名.xml。
在Java代码中控制UI界面
package com.mingrisoft;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.TextView;
import android.util.Log;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FrameLayout frameLayout=new FrameLayout(this);
frameLayout.setBackgroundResource(R.mipmap.bg);
setContentView(frameLayout);
TextView text1=new TextView(this);
text1.setText("开始游戏");
text1.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
text1.setTextColor(Color.rgb(17, 85, 114));
FrameLayout.LayoutParams params=new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
params.gravity= Gravity.CENTER;
text1.setLayoutParams(params);
text1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new AlertDialog.Builder(MainActivity.this).setTitle("系统提示")
.setMessage("游戏有风险,进入需谨慎,真的要进入吗?")
.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Log.i("桌面台球", "进入游戏");
}
}).setNegativeButton("退出", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Log.i("桌面台球", "退出游戏");
finish();
}
}).show();
}
});
frameLayout.addView(text1);
}
}
使用XML和Java代码混合控制UI界面,重点!
把布局的代码、变化不大的组件代码放入XML文件,复杂组件代码放在Java文件中。
还没有评论,来说两句吧...