Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android高手進階教程(五)之----Android 中LayoutInflater的使用!

Android高手進階教程(五)之----Android 中LayoutInflater的使用!

編輯:高級開發

大家好我們這一節講的是LayoutInflater的使用,在實際開發種LayoutInflater這個類還是非常有用的,它的作用類似於 findVIEwById(), 不同點是LayoutInflater是用來找layout下xml布局文件,並且實例化!而findVIEwById()是找具體XML下的具體 widget控件(如:Button,TextVIEw等)。 為了讓大家容易理解我做了一個簡單的Demo,主布局main.xml裡有一個TextVIEw和一個Button,當點擊Button,出現 Dialog,而這個Dialog的布局方式是我們在layout目錄下定義的custom_dialog.XML文件(裡面左右分布,左邊 ImageView,右邊TextVIEw)。 效果圖如下:   下面我將詳細的說明Demo的實現過程: 1、新建一個 android工程,我們命名為LayoutInflaterDemo. 2、修改main.XML布局,裡面主要在原來基礎上增加了一個Button.代碼如下:
  1. vIEw plaincopy to clipboardprint?  
  2. <?XML version="1.0"      
  3. @Override    
  4.     public void onClick(VIEw v) {     
  5. //下面倆種方法都可以     
  6.         ////LayoutInflater inflater = getLayoutInflater();     
  7. @Override 
  8.  public void onClick(VIEw v) {  
  9.     
  10.   showCustomDialog();  
  11.  }  
  12.    
  13.  public void showCustomDialog()  
  14.  {  
  15.   AlertDialog.Builder builder;  
  16.   AlertDialog alertDialog;  
  17.   Context mContext = LayoutInflaterDemo.this;  
  18.     
  19.   //下面倆種方法都可以  
  20.   ////LayoutInflater inflater = getLayoutInflater();  
  21.   LayoutInflater inflater = (LayoutInflater)   
  22. mContext.getSystemService(LAYOUT_INFLATER_SERVICE);  
  23.   VIEw layout = inflater.inflate(R.layout.custom_dialog,null);  
  24.   TextView text = (TextView) layout.findVIEwById(R.id.text);  
  25.   text.setText("Hello, Welcome to Mr Wei's blog!");  
  26.   ImageView image = (ImageView) layout.findVIEwById(R.id.image);  
  27.   image.setImageResource(R.drawable.icon);  
  28.   builder = new AlertDialog.Builder(mContext);  
  29.   builder.setVIEw(layout);  
  30.   alertDialog = builder.create();  
  31.   alertDialog.show();  
  32.  }  
  33. }   
5、最後執行之,點擊Button,將得到上述效果。  好今天就到此為止,睡覺了,大家有什麼不明白的請留言~謝謝!
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved