Как добавить Spinner в список NavigationView? Является ли это возможным?Как добавить Spinner в NavigationView
1
A
ответ
5
Да, теперь его можно с андроида поддержкой версии 23.1+, см этот официальный blogpost.
1.First создать макет XML spinner_menu.xml с элементом вращателя
<Spinner xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:layout_height="match_parent">
</Spinner>
2.Than связать его с XML меню навигации вид как этот
<item android:id="@+id/nav_lang"
android:icon="@android:drawable/ic_menu_manage"
android:title="Language"
app:actionLayout="@layout/spinner_menu"/>
3.If вы хотите получить к нему доступ в своей деятельности, например, добавить действие, когда выбран элемент прядильщика,
Spinner sp = (Spinner) navigationView.getMenu().findItem(R.id. nav_lang).getActionView();
sp.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,langs));
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this,langs[position],Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
Где langs - это строковый массив или список массивов для отображения элементов в spinner.
Это будет выглядеть примерно так, как показано ниже,
Надеется, что это поможет вам приятель !.
0
Конечно, это возможно. NavigationView в конечном счете, простирается от FrameLayout так макет может быть установка следующим образом:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Content View - include your main layout here -->
<include layout="@layout/activity_main" />
<!-- Drawer view -->
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- TODO Add Spinner views here -->
</LinearLayout>
</android.support.design.widget.NavigationView>
Nice !! Благодарю вас: D –