メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2011年8月4日木曜日

[Android][お勉強] Activityを半透明にしてみるよ

http://developer.android.com/guide/topics/ui/themes.html

のとおり。



<style name="Theme.Translucent">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
</style>
 

なんてなテーマがあるので、半透明にしたいActivityのテーマに適用してやると透明に。


<activity
android:name="jp.co.qsdn.android.iwashi3d.setting.SettingActivity"
android:label="@string/setting_title"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Translucent"
>
 

ってな感じ。

半透明具合や色を変えたいなら、Theme.Translucentのandroid:windowBackgroundの値を
変えてやるみたい。

なのでTheme.Translucentを継承して自前のThemeを用意しちゃう。
ファイル名はres/values/styles.xmlとかres/values/themes.xmlとかかしら。

で継承して作った自前Themeは以下な感じ。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="prefs_background_color">#ae000000</color>
<style name="Theme.PrefsBackground" parent="android:style/Theme.Translucent">
<item name="android:windowBackground">@color/prefs_background_color</item>
</style>
</resources>
 

Theme.PrefsBackgroundというテーマを作ってみた。
で、こいつを


<activity
android:name="jp.co.qsdn.android.iwashi3d.setting.SettingActivity"
android:label="@string/setting_title"
android:launchMode="singleTask"
android:theme="@style/Theme.PrefsBackground"
>
 


ってな感じで指定すればいい感じ。

#ae000000の"#ae"は半透明具合だそうで。アルファ値ね。

.

0 コメント: