Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android 設置當對話框彈出時,底部背景透明度調節

Android 設置當對話框彈出時,底部背景透明度調節

編輯:Android開發實例

在自定義對話框,我想自定義以下幾點:

1、調整對話框後面的背景的透明度

2、將對話框頭部去掉

3、將對話框自身的圓角白色邊框替換為直角5px的白色邊框

4、設置對話框內部背景。

 

首先自定義一個dialog,繼承Dialog類。

這是所有自定義的最根本的

1、首先,設置對話框後面的背景的透明度

有以下代碼:

WindowManager.LayoutParams lp=getWindow().getAttributes();
lp.dimAmount=0.8f;
getWindow().setAttributes(lp);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

將以上代碼復制到你自的構造函數中。即可。

dimAmount是設置

2、將對話框頭部去掉

有兩種方式,

第一種,

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

將上面的代碼復制到你的構造方法中。

第二種方法,

自定義個style,設置item,

<item name="android:windowNoTitle">true</item>

 

然後在構造方法中將此style加入。

3、去掉白邊框

設置style,

    <style name="myDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
<!–        <item name="android:background">@drawable/bg_sel</item>–>
        <item name="android:windowBackground">@drawable/bg_sel</item>
        <item name="android:backgroundDimEnabled">false</item>
    </style>

將此style方在構造方法中。

4、設置對話框內部背景,

自定義一個dialog模板視圖,裡面只有兩個linearlayout,所有的View都添加到裡面的linearlayout中即可。

如下代碼:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:padding="5px">
    <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:id="@+id/linearLayout" android:background="#90333333"/>
</LinearLayout>

效果圖如下:

 

源代碼見:

http://henzil.googlecode.com/svn/trunk/android.dialog.test/

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