一 隨便扯扯
用戶界面設計是程序開發的一項重要內容。在界面設計的過程中,需要考慮如何制作出UI界面,怎么樣控制UI界面兩大塊。
任何有編程常識的人都知道:軟件界面是開發者添加控件,編寫控件控制邏輯,完成用戶界面的設計。代碼編寫過程中,定義控件對象實例之后添加到我們的界面上:MFC javaSwing編程都是這樣通過代碼控制添加完成的。同時也發現:在特定的界面上控件必然有存在的原因,正如注冊界面肯定有文本框和提交按鈕,這肯定導致了代碼大量的冗余,復雜了界面設計。在簡化代碼寫作方面,很多框架都采用了xml文件進行界面定義,安卓肯定也采用了這一機制。
本文重點:
1>通過xml文件進行界面設計
2>通過代碼控制進行界面設計
二 通過xml文件進行界面設計
這一小節,我們將在Android Studio中通過xml完成界面設計。打開Android Studio,創建一個工程(自己動手創建,不要光看文章),在res/layout目錄下面存放的是界面布局文件,我們的安卓界面xml文件就是存放在這兒的。雙擊你創建出來的文件,如下
圖中紅色標記部分:左邊是界面設計,右邊對應了界面設計的xml文本。下面我們將通過操作,設計出一個界面
請跟我做:
1>在左邊控件中,拖動一個button到右邊的手機界面中,之后你點擊上線畫圈右邊的text查看文本,發現安卓已經編寫好了xml
2>切換到代碼目錄,打開你之前創建的MainActivity,在onCreate()方法中:
setContentView(R.layout.activity_main); //這行代碼是將我們編寫的界面顯示到手機屏幕中
MainActivity添加兩個私有數據成員:
private TextView tv; private Button bt;
onCreate()里面初始化tv和bt,並給bt添加監聽事件
tv = (TextView)findViewById(R.id.textView);//控件初始化 bt = (Button) findViewById(R.id.button);//控件初始化 bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv.setText("你點擊了按鈕!"); } });//添加監聽
運行程序,點擊按鈕>>>>你會發現原來的hello world!文本發生改變。在這里,兩個控件都是通過xml文件定義的,我們在代碼中實現了一個監聽器,也就是界面的控制邏輯。下面一節我們將通過代碼進行界面設計。
三 通過代碼進行界面設計
這一屆,我們將上面的 setContentView(R.layout.activity_main);這一行代碼刪除,還有上一節的代碼也都刪除,activity_main.xml也可以不要了,因為不通過xml進行界面設計,將會和Swing一樣通過代碼實現。
先定義MainActivity的私有成員
private TextView tv; private Button bt;
之后重寫onCreate(),在之前刪除onCreate()方法的位置添加代碼:通過new定義一個線性布局(如果不知道什么事線性布局,請自行百度)和Button按鈕和文本框控件,控件加入到布局里面,給控件加上監聽事件,代碼如下
LinearLayout l = new LinearLayout(this); //定義線性布局 setContentView(l); //線性布局加入屏幕 tv = new TextView(this); //定義控件 bt = new Button(this); //定義控件 l.addView(bt); //加入布局 l.addView(tv); //加入布局 bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv.setText("你點擊了按鈕!"); } }); //監聽事件
運行代碼,點擊按鈕,將會出現"你點擊了按鈕!"的文本提示。
四 總結
安卓界面設計可以通過拖拽自動生成xml文件,這是一種十分高效的方式。其次,安卓也沒有拋棄原生的靈活的代碼控制界面生成方式。開發過程中,兩者結合能夠大大簡化界面設計工作。
煩請各位留個言。比如哪兒沒有看懂,哪兒操作沒成功可以給我留言,我再來修改文章。畢竟,一篇幅通俗易懂的文章是所有博客園人的追求。