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

您可以通过创建自定义对话框来做到这一点。Step1.在res中的String文件中创建样式

<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>

第三步。在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将值放在后面delayMillis。所以更好的是你必须在立即初始化 imageView 后调用这个方法。并根据您的delayMillis意愿实现该价值。(在您的情况下,应该非常少)。

因此,根据该Thread.sleep(time)方法,您的位图将动态更改。

我的第一个建议:(设置时间interval并动态更改bitmap

我建议在设置Timer中设置一个Activity并根据Timer设置,只需BitMap向您提供值以ImageView动态更改它。

希望你理解并觉得有用。

于 2012-04-16T09:55:13.440 回答