溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何自定義Android 界面

發(fā)布時(shí)間:2021-11-11 16:14:00 來源:億速云 閱讀:146 作者:柒染 欄目:移動(dòng)開發(fā)

如何自定義Android 界面,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

如果你想直接轉(zhuǎn)到你自己定義的Android 界面,你可以在接收者的IntentFilter中加入一個(gè)自定義的Action值,他們都是使用了設(shè)計(jì)模式的觀察者模式,僅供大家學(xué)習(xí)參考哦。

一種是用圖形化的方式來編寫 布局Layout,這些布局被保存在XML文件中,會(huì)編譯成資源,被程序中Activity來加載(setContentView()), 再通過findViewById方式來獲得每一個(gè)界面組件的引用進(jìn)行操作。

對(duì)于大多數(shù)人來說,喜歡最直觀的方式,既代碼中動(dòng)態(tài)生成的方式。我們就先從這里說起,至于可視化編程及布局資源的方式以后專門來講述。

一,布局管理(Layout)
每一個(gè)界面組件都是View的子類,都可以單獨(dú)占用一個(gè)屏幕,但是真正的有用的界面都是這些組件的組合,在Android 界面中都是用各種Layout來進(jìn)行布局管理,這與傳統(tǒng)的J2SE中的一些AWT,SWING界面方式基本相同,這里就不多說。

二,一個(gè)單獨(dú)的界面元素:

public class HelloActivity extends Activity {      /** Called when the activity is first created. */      @Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          TextView tv = new TextView(this);          tv.setText("Hello, World!");          this.setContentView(tv);               }  }  這里并沒有用到Layout,這就是單獨(dú)的組件方式。也可以改為:  super.onCreate(savedInstanceState);          Button btn = new Button(this);          btn.setText("TestButton");          this.setContentView(btn);  編譯運(yùn)行,會(huì)有一個(gè)全屏的Button,當(dāng)然這不是你想要的實(shí)用的界面.那我們就用Layout來布局          super.onCreate(savedInstanceState);          Button btn = new Button(this);          btn.setText("TestButton");          Button btn2 = new Button(this);          btn2.setText("TestButton2");          LinearLayout layout = new LinearLayout(this);          layout.setOrientation(LinearLayout.VERTICAL);          layout.addView(btn);          layout.addView(btn2);          this.setContentView(layout);

編譯運(yùn)行,你就可以看到了兩個(gè)上下排列的按鈕,當(dāng)然對(duì)于布局管理器的使用,做過PC 上AWT,SWING的人都不陌生,這里就不贅述。那如何響應(yīng)事件呢: 大家猜一猜?想必大家不難猜到。

在AWT中,在手機(jī)的J2ME中,都是用Listener 來處理事件響應(yīng),Android 界面也未能脫俗。這與Blackberry,Symbian中的Observer是同一個(gè)道理。都是使用了設(shè)計(jì)模式的觀察者模式。下面來看一個(gè)能響應(yīng)事件的例子。

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

關(guān)于如何自定義Android 界面問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI