如何自定义Android 界面说明?


  本文标签:Android 界面

  如果你想直接转到你自己定义的Android 界面,你可以在接收者的IntentFilter中加入一个自定义的Action值,他们都是使用了设计模式的观察者模式,仅供大家学习参考哦  。

  一种是用图形化的方式来编写 布局Layout,这些布局被保存在XML文件中,会编译成资源,被程序中Activity来加载(setContentView()), 再通过findViewById方式来获得每一个界面组件的引用进行操作  。

  对于大多数人来说,喜欢最直观的方式,既代码中动态生成的方式  。我们就先从这里说起,至于可视化编程及布局资源的方式以后专门来讲述  。

  一,布局管理(Layout)
每一个界面组件都是View的子类,都可以单独占用一个屏幕,但是真正的有用的界面都是这些组件的组合,在Android 界面中都是用各种Layout来进行布局管理,这与传统的J2SE中的一些AWT,SWING界面方式基本相同,这里就不多说  。

  二,一个单独的界面元素:

  1. public class HelloActivity extends Activity {  
  2.     /** Called when the activity is first created. */  
  3.     @Override  
  4.     public void onCreate(Bundle savedInstanceState) {  
  5.         super.onCreate(savedInstanceState);  
  6.         TextView tv = new TextView(this);  
  7.         tv.setText("Hello, World!");  
  8.         this.setContentView(tv);  
  9.          
  10.     }  
  11. }  
  12. 这里并没有用到Layout,这就是单独的组件方式  。也可以改为:  
  13. super.onCreate(savedInstanceState);  
  14.         Button btn = new Button(this);  
  15.         btn.setText("TestButton");  
  16.         this.setContentView(btn);  
  17. 编译运行,会有一个全屏的Button,当然这不是你想要的实用的界面.那我们就用Layout来布局  
  18.         super.onCreate(savedInstanceState);  
  19.         Button btn = new Button(this);  
  20.         btn.setText("TestButton");  
  21.         Button btn2 = new Button(this);  
  22.         btn2.setText("TestButton2");  
  23.         LinearLayout layout = new LinearLayout(this);  
  24.         layout.setOrientation(LinearLayout.VERTICAL);  
  25.         layout.addView(btn);  
  26.         layout.addView(btn2);  
  27.         this.setContentView(layout);  

  编译运行,你就可以看到了两个上下排列的按钮,当然对于布局管理器的使用,做过PC 上AWT,SWING的人都不陌生,这里就不赘述  。那如何响应事件呢: 大家猜一猜?想必大家不难猜到  。

  在AWT中,在手机的J2ME中,都是用Listener 来处理事件响应,Android 界面也未能脱俗  。这与Blackberry,Symbian中的Observer是同一个道理  。都是使用了设计模式的观察者模式  。下面来看一个能响应事件的例子  。

  • 简明易懂的Android代码解说
  • 阐述Android Intent使用整理问题
  • 述说Android系统与其他系统的关系
  • 几分钟学会Android手机操作
  • 谷歌Android手机能否站稳中国

  步骤是:
一,生成两个Button,配置Click事件监听者为HelloActivity ,此类实现了OnClickListener接口  。
二,放入布局,按布局显示两个Button
三,按下其中一个Button,生成Click事件,调用HelloActivity 的OnClick接口函数  。
四,对于View参数的值,判断是哪个View(Button)  。改写Activity的Titile内容  。注意,可别去对比View.getId(),缺省情况下,每个组件的Id值都为-1,除非人为设定Id值,用可视化编程时,为自动为其生成一个Id值  。

【责任编辑:苏越 TEL:(010)68476606】