如何创建截图中显示的下拉菜单

时间:2013-03-19 06:56:14

标签: android

现在我正在使用微调器,但旋转器外观不同。我想在屏幕上显示下拉列表 enter image description here 请帮忙

3 个答案:

答案 0 :(得分:1)

如果可以默认方式完成,为什么要这样实现呢?

这里还有一个创建快速操作对话框的详细示例: How to Create QuickAction Dialog in AndroidNewQuickAction

<强>更新

您可以使用原生PopupMenu来显示与上述相同的选项。

答案 1 :(得分:1)

答案 2 :(得分:0)

如果您想要创建,则需要使用对话框..它将显示为您想要的内容。将向下箭头视为按钮。这些项目显示为列表视图。

    public class MainActivity extends Activity  {
      Button dialogButton;
       Dialog dialog;
String[] gender={"Male","Female"};
  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
      {
       dialogButton=(Button) findViewById(R.id.dialog_button);
        dialogButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
 Toast.makeText(getApplicationContext(), "Button clicked",Toast.LENGTH_SHORT).show();   
            showDialogMatch();
        }
    });


protected void showDialogMatch() {
    // TODO Auto-generated method stub
    dialog=new Dialog(this);

    dialog = new Dialog(this,android.R.style.Theme_Translucent_NoTitleBar);
    dialog.setContentView(R.layout.match_type_dialog);
     LayoutParams lp=dialog.getWindow().getAttributes();    
     lp.x=260;lp.y=350;lp.width=280;lp.height=280;lp.gravity=Gravity.BOTTOM | Gravity.LEFT;
    lp.dimAmount=0;            
    lp.flags=LayoutParams.FLAG_LAYOUT_NO_LIMITS | LayoutParams.FLAG_NOT_TOUCH_MODAL;
    dialog.show();
    ListView lvview=(ListView) dialog.findViewById(R.id.listView1);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,gender);
    lvview.setAdapter(adapter);

}

你的match_type_dialog xml就像这样

 <?xml version="1.0" encoding="utf-8"?>
<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="@drawable/switch_base">

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>