带关闭按钮的Android自定义对话框
当“触摸”自定义对话框按钮打开时,我有一个包含“关于”和“图像”以及“设置”的操作栏,并且我在xml文件id“dialogButton”中使用了一个按钮 基本上,我希望对话框在被触摸时关闭带关闭按钮的Android自定义对话框,android,xml,dialog,Android,Xml,Dialog,当“触摸”自定义对话框按钮打开时,我有一个包含“关于”和“图像”以及“设置”的操作栏,并且我在xml文件id“dialogButton”中使用了一个按钮 基本上,我希望对话框在被触摸时关闭 Actionbar.java: package com.example.actionbar; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.cont
Actionbar.java
:
package com.example.actionbar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.widget.Button;
public class ActionBar extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_action_bar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.testmenu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch(item.getItemId()){
case R.id.about:
aboutMenuItem();
break;
case R.id.settings:
settingsMenuItem();
break;
case R.id.item3:
item3MenuItem();
break;
}
return true;
}
private void aboutMenuItem(){
final Dialog d = new Dialog(this);
d.setContentView(R.layout.dialog_custom);
d.setTitle("Custom Dialog");
d.findViewById(R.id.dialogButton);
d.show();
}
private void settingsMenuItem() { }
private void item3MenuItem() { }
}
和我的xml文件,dialog\u custom.xml
:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/dialog_webview"
android:layout_width="match_parent"
android:layout_height="68dp" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello Dialog" />
<Button
android:id="@+id/dialogButton"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:text="OK" />
你可以试试这个
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.custom);
dialog.setTitle("Title...");
// set the custom dialog components - text, image and button
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("Android custom dialog example!");
Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK); // find button with dialog's preference..
// if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
试试这个
private void aboutMenuItem(){
final Dialog d = new Dialog(this);
d.setContentView(R.layout.dialog_custom);
d.setTitle("Custom Dialog");
Button connect = (Button) d.findViewById(R.id.dialogButton);
connect.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
d.dismiss();
}
});
d.show();
}
您可以在aboutMenuItem()函数中执行类似操作
final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawable(
new ColorDrawable(Color.TRANSPARENT));
View view = getLayoutInflater().inflate(R.layout.yourCustomDialogLayout,
null);
Button dialogButton = (Button) view.findViewById(R.id.dialogButton);
dialogButton .setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.setContentView(view);
dialog.setCancelable(false);
dialog.show();
什么是错误?或者提到问题..我想添加一个在自定义对话框中工作的关闭按钮,我已经添加了自定义按钮,但是如何使其工作,因此当用户触摸按钮时,对话框将关闭