Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發--LayoutInflater的使用

Android開發--LayoutInflater的使用

編輯:關於Android編程

系統的的布局文件不能滿足我們的需求,有時會根據情況在代碼中自定義控件,這就需要用到LayoutInflater
LayoutInflater在Android中是“擴展”的意思,作用類似於findViewById(),不同的是LayoutInflater是用來獲得布局文件對象的,而

findViewById()是用來獲得具體控件的。LayoutInflater經常在BaseAdapter的getView方法中用到,用來獲取整個View並返回。
LayoutInflater的用法有三種:

 

第一種方法的本質就是調用第三種方法

下面是簡單的使用示例:

[java] 
  1. public class LayoutInflaterActivity extends Activity {
  2. private EditText et;
  3. private Button btn;
  4.  
  5. @Override
  6. public void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8. // 第一種方法
  9. LayoutInflater inflater = LayoutInflater.from(this);
  10. View layout = inflater.inflate(R.layout.main, null);
  11. // 第二種方法
  12. // LayoutInflater inflater = getLayoutInflater();
  13. // View layout = inflater.inflate(R.layout.main, null);
  14. // 第三種方法
  15. // LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
  16. // View layout = inflater.inflate(R.layout.main, null);
  17. // 這裡是通過事先獲得的布局文件來實例化具體控件,並且可以根據情況自定義控件
  18. et = (EditText) layout.findViewById(R.id.edittext);
  19. et.setBackgroundColor(Color.YELLOW);
  20. btn = (Button) layout.findViewById(R.id.btn);
  21. btn.setBackgroundColor(Color.CYAN);
  22. // 顯示
  23. setContentView(layout);
  24. }
  25. }

    另外補充下,getSystemService是Activity中的方法,根據傳入的name來取得對應的服務對象,這些服務名稱參數都是Context類中的常量:

    傳入的Name 返回的對象 說明
    WINDOW_SERVICE WindowManager 管理打開的窗口程序
    LAYOUT_INFLATER_SERVICE LayoutInflater 取得xml裡定義的view
    ACTIVITY_SERVICE ActivityManager 管理應用程序的系統狀態
    POWER_SERVICE PowerManger 電源的服務
    ALARM_SERVICE AlarmManager 鬧鐘的服務
    NOTIFICATION_SERVICE NotificationManager 狀態欄的服務
    KEYGUARD_SERVICE KeyguardManager 鍵盤鎖的服務
    LOCATION_SERVICE LocationManager 位置的服務,如GPS
    SEARCH_SERVICE SearchManager 搜索的服務
    VEBRATOR_SERVICE Vebrator 手機震動的服務
    CONNECTIVITY_SERVICE Connectivity 網絡連接的服務
    WIFI_SERVICE WifiManager Wi-Fi服務
    TELEPHONY_SERVICE TeleponyManager 電話服務

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved