我喜欢在我的应用程序中添加一个 PopupMenu。问题是它也应该在 Android 2.3 上运行。我发现了一些帖子,人们建议使用 AlertDialog 作为替代方案,但我更喜欢 PopupMenu ;)
我认为它也应该在这个 API 级别上工作,因为我已经在几个应用程序中看到过它(我的手机有 2.3.5 并且工作正常)。
有没有可能使这项工作?
我喜欢在我的应用程序中添加一个 PopupMenu。问题是它也应该在 Android 2.3 上运行。我发现了一些帖子,人们建议使用 AlertDialog 作为替代方案,但我更喜欢 PopupMenu ;)
我认为它也应该在这个 API 级别上工作,因为我已经在几个应用程序中看到过它(我的手机有 2.3.5 并且工作正常)。
有没有可能使这项工作?
您必须在您的应用程序中导入支持 v7,如下所示:添加具有资源的库
import android.support.v7.widget.PopupMenu;
用它编译你的代码,然后你的弹出菜单与 android 2.2 及更高版本兼容。
PopupMenu 是可能的,您可以在发送电子邮件的方法中尝试此操作,您可以根据自己的需要扩充您的 xml:
LayoutInflater inflater = (LayoutInflater)EEActionListDetail.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth()/2;
int height = display.getHeight()/2;
View pop = inflater.inflate(R.layout.popupemail,null,false);
pop.measure(View.MeasureSpec.UNSPECIFIED,View.MeasureSpec.UNSPECIFIED);
height = pop.getMeasuredHeight();
width = pop.getMeasuredWidth()+200;
pu = new PopupWindow(pop,width,height,true);
pu.showAtLocation(findViewById(R.id.ll3),Gravity.CENTER,1,1);
Button brnSend = (Button)pu.getContentView().findViewById(R.id.btnSend);
Button close = (Button)pu.getContentView().findViewById(R.id.close);
Subject = (EditText)pu.getContentView().findViewById(R.id.subject);
Message = (EditText)pu.getContentView().findViewById(R.id.message);
close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pu.dismiss();
}
});
brnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for(int j=0;j<EmailArray.size();j++){
String EmailSent = EmailArray.get(j);
SendEmailALL(EmailSent);
}
}
});