0

私の質問は、与えられた画像のように見えるメッセージダイアログを作成する方法です

メッセージダイアログ

このメッセージダイアログをビットマップ画像に適用したい

4

3 に答える 3

1

あなたはこのようにすることができます.......

レイアウトmsgbox1:-

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal">
<ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/image1" android:layout_gravity="center_vertical|center_horizontal"></ImageView>
</LinearLayout>

レイアウトmsgbox2:-

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal">
<ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/image1" android:layout_gravity="center_vertical|center_horizontal"></ImageView>
</LinearLayout>

Javaコード:-

private static final int MsgBox1 = 0,MsgBox2 = 1; //Declaration done on top

protected Dialog onCreateDialog(int id) 
{
     dialog = new Dialog(tagame.this,android.R.style.Theme_Light_Panel);
     switch(id) {
        case MsgBox1:
            dialog.setContentView(R.layout.msgbox1);
        break; 
        case MsgBox2:
            dialog.setContentView(R.layout.msgbox2);
        break; 

    }
      return dialog;
}

message1ボックスを表示するために使用できます...

showDialog(MsgBox1);

メッセージボックスを非表示にするには...

removeDialog(MsgBox1);
于 2012-04-17T04:57:25.773 に答える
0

これを行うには、カスタムダイアログボックスを作成します。ステップ1.resの文字列ファイルにスタイルを作成する

<style name="myQuitDialog" parent="android:Theme.Dialog"> 
   <item name="android:gravity">center_horizontal</item>

    </style>       

ステップ2。レイアウトでxmlファイルを作成します

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_quit"
              android:orientation="horizontal"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:background="@drawable/image which u want to show"
 >

</RelativeLayout>

ステップ3。カスタムダイアログボックスのコードをsrcに記述します

class Custom_Dialog extends Dialog {

        protected Custom_Dialog(Context context, int theme) {
            super(context, theme);
            // TODO Auto-generated constructor stub
        }

    }
private void show_alert() {
        final Custom_Dialog alertbox = new Custom_Dialog(this, R.style.myQuitDialog);
        Window window = alertbox.getWindow();
        window.setBackgroundDrawableResource(android.R.color.transparent);
        window.requestFeature(window.FEATURE_NO_TITLE);

        alertbox.show(); 
        alertbox.setCancelable(true);
        alertbox.setCanceledOnTouchOutside(true);


                 alertbox.dismiss();
            }



    }

このようにして、これを行うことができます。

于 2012-04-16T10:40:54.707 に答える
0

時間間隔を設定し、ビットマップを動的に変更します。

編集された詳細な回答:

imageViewにはこのように使用できます。 imageView.postDelayed (Runnable action, long delayMillis)

上記の方法を利用するには、

値の変更Runnableを処理するを作成する必要があります。BitMapまた、で実装Thread.sleep(time)Runnableます。

通常、このメソッドImageViewは値の後にafterを配置しdelayMillisます。したがって、imageViewをすぐに初期化した後で、このメソッドを呼び出す必要があります。そして、私たちの望み通りにそのdelayMillis価値を作りましょう。(あなたの場合、それは非常に少ないはずです)。

そのため、そのThread.sleep(time)方法に従って、ビットマップが動的に変更されます。

私の最初の提案:(時間を設定し、動的にinterval変更してください)bitmap

Timerにを設定し、設定にActivity基づいて、動的に変更するために値をTimer提供することをお勧めします。BitMapImageView

あなたが理解し、役に立つと感じてくれることを願っています。

于 2012-04-16T09:55:13.440 に答える