Android 控制UI界面的方法

本文介绍4种控制安卓UI界面的方法:使用XML布局文件、Java代码、XML与Java混合及自定义View。重点讲解如何分离布局与逻辑,实现更高效的设计流程。

控制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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值