android 中幾個常用屬性的設定

來源:互聯網
上載者:User

1、自訂Android標題列TitleBar布局

  

   很多網友發現自己Android程式的標題列TitleBar地區很單調,如果想個人化一些可以通過下面的方法來為自己軟體的標題定製一個layout布局檔案,比如瀏覽器的標題列,它包含了網站的Favicon,自訂的進度條,和不確定的進度指示等等,實現的方法自己控制吧。下面代碼在onCreate中使用,同時順序不要改變,否則將無法生效:

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);   
    setContentView(R.layout.main);   //軟體activity的布局
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);  //titlebar為自己標題列的布局

 

2、Android全屏設定代碼

 

    如果你在開發遊戲或一個主題風格很特別的應用可能需要全螢幕顯示,在Android中全屏視窗的代碼很簡單,主要分為兩個步驟和一個注意點:

   requestWindowFeature(Window.FEATURE_NO_TITLE); //隱藏標題
  getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //設定全屏

  注意的是這些調用要放在SetContentView前面,否則無法生效或結果有出入。

 

3、擷取Android螢幕方向及鍵盤狀態

 

    很多開發Android的網友可能需要判斷當前的螢幕方向或鍵盤狀態,下面的代碼可以判斷出橫屏landscape和常規的portrait縱握方式,如果使用的是G1這樣有QWERTY鍵盤硬體的,還可以判斷螢幕方向以及鍵盤的拉出狀態。

Configuration config = getResources().getConfiguration();  
    if (config.orientation == Configuration.ORIENTATION_LANDSCAPE){  
            //橫屏,比如 480x320
     }else if(config.orientation == Configuration.ORIENTATION_PORTRAIT){  
            //豎屏 ,標準模式 320x480
     }else if(config.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_NO){  
            //橫屏,Android123提示物理鍵盤滑出了
     }else if(config.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_YES){  
            //豎屏,鍵盤隱藏了   
    } 

4、Android布局Java代碼構造法

 

     一般情況下對於Android程式布局我們往往使用XML檔案來編寫,這樣可以提高開發效率,但是考慮到代碼的安全性以及執行效率,可以通過Java代碼執行建立,雖然Android編譯過的xml是二進位的,但是載入xml解析器的效率對於資源佔用還是比較大的,一般一個簡單的TextView,比如

    <TextView
    android:id="@+id/textControl "
    android:layout_width="100px"
    android:layout_height="wrap_content" />

   可以等價於下面的Java代碼:

   LinearLayout.LayoutParams textParams = new LinearLayout.LayoutParams(100, LayoutParams.WRAP_CONTENT); //寬度為100px,高為自適應最小的高度

   // setOrientation(VERTICAL); 設定布局為垂直

   TextView textControl = new TextView(this);//如果從一個XXXLayout.,比如LinearLayout為View的基類時這裡this應該換成為建立改類的Context
   textControl.setText("Android開發網歡迎您");
   addView( textControl, textParams );

   當然Java處理效率比XML快得多,但是對於一個複雜介面的編寫,可能需要一些套嵌考慮,如果你思維靈活的話,使用Java代碼來布局你的Android應用程式是一個更好的方法。

 

5、讓你的Android程式相容多種解析度

 

隨著Android機型的不斷增多,從預設HVGA 320x480 到 WVGA  480x800 、FWVGA 480x854 以及QVGA的240x320,如果要保證這些機型的正常顯示,可能涉及到圖片資源單獨設計,雖然有朋友考慮使用9patch方法可以解決展開,但是我們要考慮如果一個主程式的背景圖片,可能原來為480x800的Nexus One上正常運行,但是到了HTC Tattoo的240x320,可以想想是什麼樣子。Android開發網提示大家對於Android 2.0而言資源要單獨考慮,不然無法正常被載入。如很多都加了v6的字樣。

 

  我們將對上面的檔案夾命名方式做詳細的解釋: drawable-hdpi 這個hdpi代表high dpi,一般為 WVGA或 FWVGA解析度的圖片,如480x800,而mdpi 代表 mid dpi,一般為HVGA,如320x480。而 ldpi為 low dpi,一般為QVGA,如240x320。而下面layout中的land代表橫屏時的布局。但是有些網友可能發現了 -v6的字樣android123提示這是 Android 2.0開始出現一些bug的解決方案。 -v6是專門為2.0韌體的機型設計的。 v6代表 API Level 6

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.