dialogを出すと裏のActivityが暗くなる動作

5,245 views
Skip to first unread message

Arito Asai

unread,
Feb 10, 2011, 2:55:08 AM2/10/11
to android-...@googlegroups.com
はじめまして。

質問させてください。

単純なアプリケーションなのですが、ActivityからProgressDialogを表示している
ところで、標準的な動作だとDialog.show()してダイアログを表示させると裏の
Activityの画面は暗くなりますが、

これを暗くしないでDialogを出す方法がありますでしょうか?
ご存知の方がいたらアドバイスいただければ幸いです。

よろしくお願いします。

Keiji Ariyama

unread,
Feb 10, 2011, 4:06:40 AM2/10/11
to android-...@googlegroups.com, Arito Asai
有山です。

 Dialog系のクラスに与えるスタイルのbackgroundDimAmountの値を変更するこ
とで、背景を
暗くしないことが出来ます。

---- /res/values/styles.xml ----
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style
name="transparent"
parent="@android:style/Theme.Dialog">
<item name="android:backgroundDimAmount">0.0</item>
</style>
</resources>

---- /src/.../MainActivity.java ----
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// styles.xmlで作成したtransparentスタイルを適用する
Dialog d = new Dialog(this, R.style.transparent);
d.setTitle("test");
d.show();
}

> --
> このメールは Google グループのグループ「Android-SDK-Japan」の登録者に送
> られています。
> このグループに投稿するには、android-...@googlegroups.com にメール
> を送信してください。
> このグループから退会するには、android-sdk-
> japan+un...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-sdk-japan?hl=ja
> からこのグループにアクセスしてください。

--
Keiji,
ml_an...@c-lis.co.jp

Keiji Ariyama

unread,
Feb 10, 2011, 4:11:12 AM2/10/11
to android-...@googlegroups.com
有山です。

 補足です。
 先程のスタイルをProgressDialogについて適用したいときは、スタイルの親
(parent)に、Theme.Dialog.Alertを設定してください。

---- /res/values/styles.xml ----
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style
name="transparent"

parent="@android:style/Theme.Dialog.Alert">


<item name="android:backgroundDimAmount">0.0</item>
</style>
</resources>

Arito Asai

unread,
Feb 15, 2011, 1:51:17 AM2/15/11
to android-...@googlegroups.com
浅井です。

有山さん、情報ありがとうございます。
いろいろ試行錯誤した結果、

mProgressDialog.getWindow().setFlags( 0 , WindowManager.LayoutParams.FLAG_DIM_BEHIND);
mProgressDialog.show();

で、やりたいことが実現できそうです。
ありがとうございます。


2011年2月10日18:11 Keiji Ariyama <ml_an...@c-lis.co.jp>:
このグループから退会するには、android-sdk-ja...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-sdk-japan?hl=ja からこのグループにアクセスしてください。


Reply all
Reply to author
Forward
0 new messages