如何将导航抽屉中的按钮切换为旋转器



所以我正在查看导航抽屉模板(Android Studio实现),并希望自定义它。我看到有一个用于抽屉的菜单XML文件(以及此活动的其他4个XML文件),但这似乎与布局XML不同,我可用的选项更加有限(菜单项,搜索项目菜单项,切换项目)。如何将Spinner小部件(或任何小部件)添加到那里?编辑:是的,很难描述。试图修改以下内容:图像显示我要修改的布局此菜单中唯一对以下内容的引用是:导入,画廊等。因此,我想问题是如何使用普通的XML布局文件而不是菜单文件编辑图像1上绿色下面的内容?默认情况下,它出于某种原因使用菜单文件。

我所理解的阅读您的问题是您要在导航抽屉中添加旋转器。如果是的,这可以帮助您。
是的,没有直接的方法可以添加旋转器到NavigationDrawter,但您可以将包含旋转器的另一个XML文件与现有菜单链接。xml。使用此。

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

      <item
        android:id="@+id/spinner1"
        app:actionLayout="@layout/spinner1"
        android:icon="@android:drawable/spinner_image"
        android:title="Use it or leave it"
        />
    
  • 第二,创建一个名为Spinner1的布局(与您添加的项目相同在菜单中。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
        }
    });
    

最新更新