Android中半透明Activity效果另法


Android中的Activity有沒有類似於像Windows程序樣的窗口式顯示呢?

答案當然是有。

下圖就是一個窗口式Activity的效果圖:

miniActivity

下面就說說實現過程:

首先看看AndroidManifest.xml

   1: <?xml version="1.0" encoding="utf-8"?>
   2: <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   3:       package="com.hi.braincol.local"
   4:       android:versionCode="1"
   5:       android:versionName="1.0">
   6:     <uses-sdk android:minSdkVersion="8" />
   7:  
   8:     <application android:icon="@drawable/icon" android:label="@string/app_name">
   9:         <activity android:name=".MiniActivity"
  10:                      android:theme="@style/Translucent"
  11:                   android:label="@string/app_name">
  12:             <intent-filter>
  13:                 <action android:name="android.intent.action.MAIN" />
  14:                 <category android:name="android.intent.category.LAUNCHER" />
  15:             </intent-filter>
  16:         </activity>
  17:  
  18:     </application>
  19: </manifest>
第10行:
android:theme="@style/Translucent"
這個就是關鍵,只要將個這個style設置為窗口式的,那么MiniActivity就會是窗口式的了。
下面的就是這個style的代碼:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
  <style name="Translucent" parent="@android:style/Theme.Translucent">
      <item name="android:windowBackground">@drawable/panel_background</item>
      <item name="android:windowNoTitle">true</item>
      <item name="android:windowIsFloating">true</item>
      <item name="android:windowIsTranslucent">true</item>
      <item name="android:windowContentOverlay">@null</item>
      <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
      <item name="android:backgroundDimEnabled">true</item>
  </style>
</resources>
這樣就行了,實現起來還是很簡單的 聚會笑臉

 

 

 

 

http://www.cnblogs.com/hibraincol/archive/2011/08/28/2156310.html

 


 

 

在做項目時,常需要用到對話框之類的效果,然而對話框不容易寫,所以就想寫個半透明的Activity來代替對話框效果,這樣的好處至少有三個:

一:布局容易

二:各種控件容易控制

三:代碼簡練:不至於將控制對話框的代碼寫在一坨,各種控制也不用寫在一坨,易於維護

而現在在網上搜索半透明的Activity時,都是需要在style中寫樣式,在color中定義顏色,當然,最后還得在Mainfest中配置好,結果一個小小的半透明Activity效果寫的好零亂,而且網上來來去去就那幾種方法,看得蛋疼,因此為了裝逼,我介紹一種簡易的半透明Activity效果:

 

步驟:

一:在Activity的布局的根標簽中寫入透明顏色:


android:background="#80000000"

 

 
        

 

二:在清單文件中相應的activity中配置:

android:theme="@android:style/Theme.Translucent.NoTitleBar"

 

ok,就這兩步,

這樣的效果好處在於:

一:簡單,就兩行代碼

二:易修改,就兩行代碼,只需修改一處即可。

效果圖:

詳細代碼:

一:布局:

 

[javascript]  view plain copy print ? 在CODE上查看代碼片 派生到我的代碼片
 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:background="#80000000" >  
  6.   
  7.     <LinearLayout  
  8.         android:layout_width="match_parent"  
  9.         android:layout_height="wrap_content"  
  10.         android:layout_alignParentBottom="true"  
  11.         android:layout_marginBottom="40dp"  
  12.         android:layout_marginLeft="18dp"  
  13.         android:layout_marginRight="18dp"  
  14.         android:orientation="vertical" >  
  15.   
  16.         <TextView  
  17.             android:id="@+id/tv_delete"  
  18.             android:layout_width="match_parent"  
  19.             android:layout_height="wrap_content"  
  20.             android:background="@drawable/rect_delete_red"  
  21.             android:gravity="center"  
  22.             android:paddingBottom="15dp"  
  23.             android:paddingTop="15dp"  
  24.             android:text="刪除"  
  25.             android:textColor="#FFFFFF"  
  26.             android:textSize="20sp" />  
  27.   
  28.         <TextView  
  29.             android:id="@+id/tv_cancel"  
  30.             android:layout_width="match_parent"  
  31.             android:layout_height="wrap_content"  
  32.             android:layout_marginTop="20dp"  
  33.             android:background="@drawable/rect_delete_gray"  
  34.             android:gravity="center"  
  35.             android:paddingBottom="15dp"  
  36.             android:paddingTop="15dp"  
  37.             android:text="取消"  
  38.             android:textColor="#FFFFFF"  
  39.             android:textSize="20sp" />  
  40.     </LinearLayout>  
  41.   
  42. </RelativeLayout>  



 

二:清單文件:

 

[javascript]  view plain copy print ? 在CODE上查看代碼片 派生到我的代碼片
 
  1. <activity android:name="com.itcode.DialogActivity"  
  2.           android:theme="@android:style/Theme.Translucent.NoTitleBar" ></activity>  



 

 

http://blog.csdn.net/sunalongl/article/details/20544177


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM