您好我正在开发一个应用程序,其中我正在使用活动对话框。对话框将只显示一张图片,当用户触摸图片时,对话框应该被忽略,并且启动对话框的活动应该在前面。 对话框没有任何按钮。
我在这个应用程序中的问题是我无法在对话框中获取触摸事件,我尝试在互联网上搜索此问题的解决方案,但我找不到合适的方法实现它。那么任何人都可以建议一种方法......
答案 0 :(得分: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();
答案 1 :(得分:0)
我相信在对话框的主要布局元素上设置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();
}
}
dialog.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可能会解决问题。
我得到了上面的代码。希望它能解决你的问题: - )
答案 2 :(得分:0)
Android: Close dialog window on touch
这个问题可能会为您的问题提供答案。或者,您可以使用LayoutInflater创建一个自定义视图,其中包含带有OnClickListener和AlertDialog.Builder的ImageButton或ImageView及其setView方法,以使此视图成为对话框的主体。