成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何自定義Android 界面說明?

移動開發 Android
Android 界面編程有兩種基本的方法,一種是在代碼中,動態創建一個個組件,及把這些組件用Layout來進行組合成復雜的界面展現。

如果你想直接轉到你自己定義的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是同一個道理。都是使用了設計模式的觀察者模式。下面來看一個能響應事件的例子。#t#

步驟是:
一,生成兩個Button,配置Click事件監聽者為HelloActivity ,此類實現了OnClickListener接口。
二,放入布局,按布局顯示兩個Button
三,按下其中一個Button,生成Click事件,調用HelloActivity 的OnClick接口函數。
四,對于View參數的值,判斷是哪個View(Button)。改寫Activity的Titile內容。注意,可別去對比View.getId(),缺省情況下,每個組件的Id值都為-1,除非人為設定Id值,用可視化編程時,為自動為其生成一個Id值。

責任編輯:chenqingxiang 來源: 清華大學出版社
相關推薦

2013-03-28 10:58:30

自定義Android界android

2016-12-26 15:25:59

Android自定義View

2016-11-16 21:55:55

源碼分析自定義view androi

2017-10-25 14:07:54

APPiOSxcode

2013-04-01 14:35:10

Android開發Android自定義x

2013-06-27 11:10:01

iOS開發自定義UISlider

2009-09-07 22:00:15

LINQ自定義

2011-08-25 11:44:21

LUA腳本魔獸世界

2017-05-19 10:03:31

AndroidBaseAdapter實踐

2016-04-12 10:07:55

AndroidViewList

2017-05-18 12:36:16

android萬能適配器列表視圖

2015-02-12 15:33:43

微信SDK

2018-01-23 11:00:10

Hadoop3.0Yarn資源

2009-09-03 13:34:03

.NET自定義控件

2023-01-03 07:40:27

自定義滑塊組件

2021-12-31 08:43:45

插件KubeScheduler

2022-04-20 18:22:18

CSS拖拽預覽圖

2015-02-12 15:38:26

微信SDK

2013-01-09 17:22:38

Android開發Camera

2020-11-19 10:50:43

ImportPython代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一道本不卡 | av黄色在线观看 | 国产成人99久久亚洲综合精品 | 日本精品一区二区三区在线观看 | 欧洲视频一区二区 | 久久久久久高潮国产精品视 | 精品一二 | 成人免费在线视频 | 99精品99| av免费网址 | 免费av毛片 | 韩日一区二区 | 精产国产伦理一二三区 | 91在线一区 | 久久av一区二区三区 | 91黄在线观看 | 国产九九精品视频 | 天天操夜夜爽 | 久久福利网站 | 99中文字幕| 日日干干 | 老司机67194精品线观看 | 97精品超碰一区二区三区 | 性高湖久久久久久久久3小时 | 亚洲自拍偷拍视频 | 一区二区三区精品在线视频 | 日韩欧美专区 | 精品亚洲视频在线 | 日韩中文av在线 | 亚洲 欧美 日韩 在线 | 日本天天操 | 国产伦精品一区二区三区视频金莲 | 中文字幕在线人 | 欧美日一区二区 | 日韩欧美三区 | 亚洲人成人一区二区在线观看 | 久久精品国产亚洲 | 亚洲精品无人区 | 成人免费观看视频 | 午夜一级做a爰片久久毛片 精品综合 | 久久久人成影片免费观看 |