如何設定Activity的大小,讓你的視窗看起來不再是全屏的。有些網友可能知道通過主題比如Theme.Dialog來實現,不過告訴大家設定Activity不再全螢幕顯示的原理。Android Theme也主要是通過定義Style來實現的,實現的原理大家可以直接看Android Framework中的定義,今天給一種更簡單,但相對靈活的方法,比如不要Theme.Dialog中的邊框,下面就一起來看下自訂Activity 大小的實現方法。
1. 建立一個樣式檔案到你的工程,儲存在在res/values/styles.xml,這裡檔案名稱不能隨便修改,內容為,注意儲存時使用UTF-8編碼。
Java代碼
複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Android123" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@drawable/bg</item>
</style>
</resources>
2. 上面我們定義的主題風格為Theme.Android123,父風格仍然從Theme.Dialog實現,但我們自訂了背景,位置在drawable/bg中,這裡我們建立一個bg.xml檔案放到res/drawable檔案夾中,bg.xml的內容為
Java代碼
複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.android.com/apk/res/android">
<padding android:left="15dp" android:top="15dp" android:right="15dp" android:bottom="15dp" />
<stroke android:width="3dip" color="#000000" />
<corners android:radius="5dp" />
<solid android:color="#ffffff" />
</shape>
裡面我們定義了一個shape對象,實現背景drawable形狀,其中padding代表距離邊框,這裡我們設定了左、上、右、下四個位置的間距。stroke可以製造出一些3D立體效果,corners是四個角,radisu屬性可以設定半徑,值越大越圓滑,根據運行效果你可以微調,最後 soild是填充顏色,這裡我們用了ffffff表示純白。
3. 最後在androidmanifest.xml中,在你的activity節點加一個 android:theme屬性,值為@style/Theme.Android123 即可