Android 控制UI界面的方法

控制UI界面的方法

4种控制UI界面的方法

  1. 使用XML布局文件
  2. Java代码
  3. 使用XML和Java代码混合
  4. 开发自定义的View

最推荐方法一。

使用XML布局文件控制UI界面

好处:把布局代码写在XML布局文件中,与逻辑结构的Java代码分离开

步骤:

  1. 在Android应用的res/layout的目录下编写XML布局文件,注意将activity_main的第二行RelativeLayout改写FrameLayout。

Framelayout框架布局,层叠式,有点像堆栈,先进在底层,会被后进的覆盖。
RelativeLayout相对布局,控件的位置通过各个控件之间的相对距离来确定。
GridLayout为网格布局管理器。

  1. 在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文件中。

开发自定义的View

发布了22 篇原创文章 · 获赞 1 · 访问量 2434

猜你喜欢

转载自blog.csdn.net/weixin_43786756/article/details/104109158
今日推荐