2017-02-13 3 views
0

Я создал навигационный ящик в основной деятельности. Я добавил переключатель в заголовок навигации в макете навигации. Я создал отдельный макет для заголовка навигации. Я не знаю, как добавить функциональность для коммутатора .Как я могу включить и выключить переключатель для выполнения каких-либо функций.Как добавить кнопку в заголовок навигации в режиме навигации?

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_dash_board" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.seyali.calllogs.DashBoardActivity"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     > 
     <include 
      android:layout_height="wrap_content" 
      android:layout_width="match_parent" 
      layout="@layout/toolbar_layout" 
      > 

     </include> 
    </LinearLayout> 


    <android.support.design.widget.NavigationView 

     android:layout_height="match_parent" 
     android:layout_width="match_parent" 
     android:id="@+id/navigation_View" 
     android:layout_gravity="start" 
     app:menu = "@menu/drawer_menu" 
     app:headerLayout="@layout/navigation_drawer_header"> 
    </android.support.design.widget.NavigationView> 
</android.support.v4.widget.DrawerLayout> 

Ниже код для навигации заголовка layout.I добавлен переключатель и TextView в навигационном header.navigation_drawer_header.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:background="@drawable/backgroung_red_colour"> 
    <Switch 
     android:text="Call Recording" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/navigation_drawer_switch" 
     android:layout_alignParentBottom="true" 
     android:gravity="left" 
     android:textOff="off" 
     android:textOn="on"/> 

    <TextView 
     android:text="Switch" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/navigation_drawer_switch" 
     android:layout_alignParentStart="true" 
     android:layout_marginBottom="28dp" 
     android:id="@+id/drawertext" /> 
</RelativeLayout> 
+0

коммутатор вопрос или ящик? –

+0

Нет проблем. Я не знаю, как инициализировать и выполнить функцию для коммутатора. –

+0

Как инициализировать коммутатор и выполнять определенную функцию? –

ответ

1

попробовать этот код:

NavigationView navigationView = (NavigationView) findViewById(R.id.your_nav_view_id); 
View header = navigationView.getHeaderView(0); 

Switch switch_view = (Switch)header.findViewById(R.id.navigation_drawer_switch); 
switch_view.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

@Override 
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
    Log.v("Switch State=", ""+isChecked); 
    if(isChecked) 
     //switch is on 
    else 
     //switch is off 
    }  

}); 
+0

Спасибо @ rafsanahmad007 .... он работает ... –

1
View header = navigationView.getHeaderView(0); 
Switch switch = (Switch)navigationView..findViewById(R.id.navigation_drawer_switch); 

и использовать переключатель «» как обычный переключатель , надеюсь, что это то, что вы ищете

Смежные вопросы