編輯:關於Android編程
Toast
用來向用戶彈出一個提示框,然後自動消失,就像這樣,
面包機烤好面包後,就騰的一下把面包從面包機裡彈出來。而這個控件顯示時也像是從面包機裡彈出來的,所以取了這個名字-Toast(吐司)。
使用Toast
顯示消息的時候,即使啟動它的Activity並沒有顯示在屏幕上,Toast
提示的消息也會被顯示到最前面,讓用戶看到。例如,
Home
回到主界面,又啟動了另一個應用的Activity B;現在Activity A不再顯示了; 下載完成後,隱藏起來的Activity A使用Toast
給用戶一個提示; 雖然Activity A現在沒有顯示出來,但是它使用Toast
給出的提示,還是會被顯示到整個界面的最上面,被用戶看到;
這是因為Toast
會顯示在一個特別的窗口層次上,這個窗口比任何Activity使用的窗口層次更高,更優先的顯示到上層。
關於窗口系統具體的原理,我們會在安卓系統的窗口機制相關章節進行介紹。
調用Toast的makeText函數生成一個Toast對象,再調用它的show函數顯示出來。makeText有三個參數,第一個是Context對象,第二個是要顯示的字符串,第三個是要顯示的時長。
第一個參數Context:是當前Activity運行的上下文環境,也就是它運行時所擁有的各種系統資源。Activity是從Context繼承而來的,所以Activity本事就是我們要找的context; 第二個參數:是要顯示的內容; 第三個參數:顯示的時間長短,它只能設置長或短。
Toast.makeText(context, "需要顯示的內容", Toast.LENGTH_SHORT).show()
include標簽、merge標簽,以及ViewStub標簽是安卓布局使用的抽象標簽。它們並不代表某個具體的布局或者控件,而是起布局的輔助作用,提高布局執行的效率和易用性。
例如,對於那些會重復使用到的布局結構,可以它們放到一個單獨的layout文件中。當我們在任何要使用這個布局的地方,就通過復用的方法,將它包含到新的布局文件中。
假設下面這個布局結構會被經常的使用,我們就可以將它單獨定義到一個獨立的布局文件reuse.xml
中
<framelayout android:layout_height="match_parent" android:layout_width="match_parent">
</framelayout>
當別的布局文件main_layout.xml
,要使用上面被獨立出來的布局時,就可以用
標簽把這個布局包含進來。在
標簽的layout
屬性中,指定要復用的布局的id就可以了。
例如main_layout.xml
使用
標簽,
此時main_layout.xml
實際上,就變成了,
<framelayout android:layout_height="match_parent" android:layout_width="match_parent">
</framelayout>
再來看看merge標簽,將reuse.xml
中的FrameLayout
修改成merge
,
main_layout.xml
繼續使用
標簽,
此時main_layout.xml
實際就變成了,
與之前相比,少了FrameLayout
一層。在布局時少一個層次的包裹,可以增加布局的效率。
這是一個布局的占位符。當一個布局包含了這種標簽,它並不會加載這個標簽的內容,而是在需要的時候,通過代碼來動態加載。
例如,一個布局main_layout.xml
裡面,有一個ProgressBar
,布局被加載時,這個ProgressBar就會被創建出來,
如果我們將
ProgressBar
放到一個單獨的布局文件progress_layout.xml
當中,
然後
main_layout.xml
中使用ViewStub
引用這個布局,
---為這個ViewStub被代替之後,給代替者一個ID
布局被加載時,這個ProgressBar並不會被創建出來。使用如下方式,就可以把
ViewStub
,替換成android:layout
指定的布局,
在代碼中使用
setVisibility()
函數,
((ViewStub) findViewById(R.id.viewstub_id)).setVisibility(View.VISIBLE);
在代碼中使用
inflate()
函數,
((ViewStub) findViewById(R.id.viewstub_id)).inflate();
替換之後,
ViewStub
就被從布局當中移除了,這個布局就變成了,
在以支持多種屏幕尺寸為目標設計應用時,您可以在不同的布局配置中重復使用您的fragment從而根據可用的屏幕空間優化用戶體驗。例如,在手機設備上,由於采用單窗格用戶界面,
Paint類 *Paint類代表畫筆,用來描述圖形的顏色和風格,如線寬,顏色,透明度和填充效果等信息。 *使用Paint類時,需要先創建該類的對象,可以通過該類的構造函數
一.listView的二級目錄且選中實現:記錄下來,以便以後可能會用到,直接上貼源碼:先上效果圖: 主界面:public class MainActivity exten
在Android的jdk開發包中已經包含了JSON的幾個API:也可以下載JSON包:http://files.cnblogs.com/java-pan/lib.rarJ