2017-09-23 116 views
0

因此,我正在查看导航抽屉模板(android studio实现),并期待对其进行自定义。我发现抽屉里有一个菜单xml文件(与此活动的其他4个XML文件一起),但是这似乎与布局xml不同,我可用的选项更加有限(菜单项,搜索项,切换项目)。我如何将微调控件(或任何小工具)添加到那里? 编辑:是的,它很难形容。试图修改此:Image shows the layout I want to modify 唯一参考的东西,如:导入,画廊等等在这个菜单中xml Picture shows the XML editor for the 所以我想问题是如何编辑图像1上的绿色以下的东西与正常xml布局文件而不是菜单文件? 由于某种原因,它默认使用了一个菜单文件。如何将导航抽屉中的按钮切换为旋钮

+0

你提的问题是很难understand.Edit的问题,并添加一些代码,或者你想什么画面? – Xenolion

回答

0

我理解的阅读你的问题是你想添加微调的导航抽屉。如果是的话,这可以帮助。
是的,没有直接的方法可以将Spinner添加到NavigationDrawer,但可以将包含微调控件的另一个XML文件与现有的menu.xml链接起来。用这个。

  • 首先,添加一个链接到另一个布局文件

    <item 
        android:id="@+id/spinner1" 
        app:actionLayout="@layout/spinner1" 
        android:icon="@android:drawable/spinner_image" 
        android:title="Use it or leave it" 
        /> 
    
  • 其次,创建一个名为spinner1布局(同项目已添加在menu.xml文件 )

    <?xml version="1.0" encoding="utf-8"?> 
        <Spinner 
        xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@+id/spinner" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_gravity="center_vertical" 
        android:gravity="center_vertical" /> 
    
  • 最后,在你的java文件中链接微调器。

    Spinner spinner = (Spinner) navigationView.getMenu().findItem(R.id.spinner1).getActionView(); 
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this,android.R.layout.simple_spinner_dropdown_item,yourarraylist); 
        spinner.setAdapter(arrayAdapter); 
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
        @Override 
        public void onItemSelected(AdapterView<?> parent, View view, int i, long id) { 
         Toast.makeText(YouActivity.this,yourarraylist[i],Toast.LENGTH_SHORT).show(); 
        } 
        @Override 
        public void onNothingSelected(AdapterView<?> parent) { 
        //DO something 
        } 
    }); 
    
+0

是的。这是我想要做的 – Holmes