2017-02-13 11 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ナビゲーション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); 

にスイッチとのTextViewを添加し、通常のスイッチとしての「スイッチ」を使用するためのものです。これはあなたが

関連する問題