2

嗨,我正在开发一个应用程序,在该应用程序中我正在使用一个活动对话框。对话框将只显示一张图片,当用户触摸图片时,对话框应该关闭,并且启动对话框的活动应该出现在前面。对话框没有任何按钮

我在这个应用程序中的问题是我无法在对话框上获取触摸事件,我尝试在互联网上搜索解决此问题的方法,但找不到合适的方法来实现它。那么任何人都可以建议一种方法来做到这一点......

4

3 回答 3

2

试试这样。。

  final Dialog dialog = new Dialog(context);
        dialog.setContentView(R.layout.mylayout);
   //craete a layout with imageview
        dialog.setTitle("Title...");

        ImageView image = (ImageView) dialog.findViewById(R.id.image);
        image.setImageResource(R.drawable.yourimage);

        image.setOnClickListener(new View.OnClickListener(){
         public void onClick(View View3) {
             //your onclick functionality
         } });

        });

        dialog.show();
于 2012-04-13T14:14:37.453 回答
0

我相信在 Dialog 的主要布局元素上设置一个 View.OnClickListener 可以解决问题:-)

示例代码:

    public class DialogActivity extends Activity implements OnClickListener
    {
        @Override
        protected void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.dialog);
            LinearLayout linearlayout = (LinearLayout)findViewById(R.id.dialogMainLayout);
            linearlayout.setOnClickListener(this);
        }

        public void onClick(View v)
        {
            finish();
        }
    }

对话框.xml:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" 
        android:background="#FFA500"
        android:id="@+id/dialogMainLayout"
        >
        <TextView 
            android:layout_height="250dp"
            android:layout_width="fill_parent"
            android:text="TEST"
            android:background="#FFFFF0"
            />
    </LinearLayout>

首先,我尝试制作一个将启动另一个主题作为对话的活动。单击以对话框为主题的活动完全没有做任何事情。所以我认为在对话框主题活动中使用的 xml 文件中的根布局元素上设置 onclicklistener 可能会解决问题。

我得到了上面的代码工作。希望它能解决您的问题:-)

于 2012-04-13T14:13:53.617 回答
0

Android:触摸时关闭对话框窗口

这个问题可能会为您的问题提供答案。或者,您可以使用 LayoutInflater 创建一个自定义视图,其中包含带有 OnClickListener 和 AlertDialog.Builder 的 ImageButton 或 ImageView 及其 setView 方法,以使该视图成为对话框的主体。

于 2012-04-13T14:19:27.873 回答