[英]How to create a pop up menu in Android
i tried the following code 我尝试了以下代码
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.ListAdapter;
public class Custom_dialogActivity extends Activity {
/** Called when the activity is first created. */
String test[] = {"Security","Data Backup","Missing Device"};
ListAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(true);
builder.setTitle("My Title");
builder.setInverseBackgroundForced(true);
builder.setIcon(R.drawable.ic_launcher);
builder.setItems(test, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
System.out.println("onClick " + which);
}
});
builder.setAdapter(adapter, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
System.out.println("DialogInterface : " + which);
}
});
EditText ed = new EditText(this);
builder.setView(ed);
builder.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();
}
});
builder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which)
{
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.show();
}
}
**but it looks like but i tried to set color and icon but failed to setIcon and Color Green on Top of Dialog box solve my problem and i didint created any xml and didnt made any changes ** **但它看起来像,但我试图设置颜色和图标,但未能在对话框顶部的setIcon和颜色绿色解决我的问题,我didint创建任何xml并没有做任何更改**
but i want like 但我想要
You can achieve this by using AlertDialog.Builder , but instead of using standard dialog, you need to inflate your own xml to override the view. 您可以通过使用AlertDialog.Builder实现这一目标,但不是使用标准的对话框,您需要夸大自己的XML重写视图。
update 更新
or create an activity with dialog style: 或使用对话框样式创建活动:
your custom style : 你的自定义风格 :
<style name="styleActivityDialog" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:colorBackgroundCacheHint">@android:color/transparent</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:windowBackground">@drawable/bg_activity_dialog</item>
</style>
drawable bg_activity_dialog : drawable bg_activity_dialog :
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="1dp" android:color="#C0C0C0" />
<solid android:color="#FFFFFF" />
<corners android:radius="5dp" />
<padding android:top="5dp" android:bottom="5dp" android:left="5dp"
android:right="5dp"/>
</shape>
your activity in AndroidManifest.xml : 您在AndroidManifest.xml中的活动:
<activity android:name=".ActivityDialog"
android:theme="@style/styleActivityDialog">
</activity>
now create any layout for your activity ActivityDialog and it should appear as a dialog window 现在为您的活动ActivityDialog创建任何布局,它应该显示为对话框窗口
You could create an Activity with the layout you desire and add the following theme to the Activity's tag in the AndroidManifest.xml to simulate a dialog look. 您可以使用所需的布局创建一个Activity,并将以下主题添加到AndroidManifest.xml中的Activity的标记,以模拟对话框外观。
android:theme="@android:style/Theme.Dialog"
If that is not enough, you can use inheritance and modify this specific theme to use a translucent, non-dim background. 如果这还不够,您可以使用继承并修改此特定主题以使用半透明,非暗淡的背景。
<style name="MyTheme" parent="@android:style/Theme.Dialog">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
You can use AlertDialog or custom dialog. 您可以使用AlertDialog或自定义对话框。 I've discussed about this in my personal blog.You can just visit my humble blog if you desire.. http://androiddesk.wordpress.com/tag/dialog-in-android/page/2/
我已经在我的个人博客中讨论了这个问题。如果你愿意的话,你可以访问我不起眼的博客.http://androiddesk.wordpress.com/tag/dialog-in-android/page/2/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.