zoukankan      html  css  js  c++  java
  • 在代码中控制UI界面

    虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面。

    实例:用编程的方式开发UI界面

    package org.crazyit.helloworld;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.ViewGroup;
    import android.widget.*;
    import android.view.View;
    import android.view.View.OnClickListener;
    
    public class CodeView extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //创建一个线性布局管理器
            LinearLayout layout=new LinearLayout(this);
            //设置该Activity显示Layout
            super.setContentView(layout);
            layout.setOrientation(LinearLayout.VERTICAL);
            //创建一个TextView
            final TextView show=new TextView(this);
            //创建一个按钮
            Button bn=new Button(this);
            bn.setText(R.string.ok);
            bn.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT));
            //向Layout容器中添加TextView
            layout.addView(show);
            //向Layout容器中添加按钮
            layout.addView(bn);
            //为按钮绑定一个事件监听 
            bn.setOnClickListener(new OnClickListener(){
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    show.setText("Hello,Android,"+new java.util.Date());
                }
            });
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.code_view, menu);
            return true;
        }
    
    }

    从上面的程度的粗体字代码可以看出,该程序中所用到的UI组件都是通过new关键字创建出来的,然后程序使用LinearLayout容器来“盛装”这些UI组件,这样就形成了图形用户界面。

    从上面的程序代码中可以看出,无论创建哪种UI组件,都需要传入一个this参数,这是由于创建UI组件时传入一个Context参数,Context代表访问Android应用环境的全局信息的API。

    让UI组件持有一个Context参数,可让这些UI组件通过该Context参数来获取Android应用环境的全局信息。

    Context本身是一个抽象类,Android的应用的Activity、Service都继承了Context,因此Activity、Service都可直接作为Context使用。

  • 相关阅读:
    SQL_TRACE与tkprof分析
    mysql学习之-三种安装方式与版本介绍
    1400
    输出二叉树中所有从根结点到叶子结点的路径
    [置顶] 处世悬镜之舍之
    Azkaban2配置过程
    [置顶] 处世悬镜之舍之 二
    UVALIVE 5893 计算几何+搜索
    Paxos算法 Paxos Made Simple
    Spring AOP 详解
  • 原文地址:https://www.cnblogs.com/wolipengbo/p/3337675.html
Copyright © 2011-2022 走看看