2016-07-25 2 views
2

내 응용 프로그램에 하단 네비게이션 바를 추가해야했는데, github에서 찾은 하단 바 라이브러리를 사용하여 매우 잘 수행 할 수있었습니다.하단 바 라이브러리에서 아이콘을 변경하는 방법

그러나 다른 요구 사항은 클릭 할 때 바텀 바 아이콘을 변경하는 것입니다. 나는 이것을 성취 할 수 없었다. 사람이 어떻게 달성 할 수있는 방법 나를 도울 수있는

Like on clicking home the home button is green, other wise its not highlighted

내가 보았던 튜토리얼 당으로

bottomBar = BottomBar.attach(view,savedInstanceState); 
     bottomBar.useDarkTheme(false); 

     bottomBar.setItemsFromMenu(R.menu.bottom_home_menu, new OnMenuTabSelectedListener() { 

     @Override 
     public void onMenuItemSelected(@IdRes int menuItemId) { 
     switch (menuItemId){ 
     case R.id.menu_home: 
     Snackbar.make(view,"Home tab",Snackbar.LENGTH_SHORT).show(); 
     break; 

     case R.id.menu_to_do: 
     Snackbar.make(view,"To Do tab",Snackbar.LENGTH_SHORT).show(); 
     break; 

     case R.id.menu_add_books: 
     Snackbar.make(view,"Add",Snackbar.LENGTH_SHORT).show(); 
     break; 

     case R.id.menu_notification: 
     Snackbar.make(view,"Notification",Snackbar.LENGTH_SHORT).show(); 
      break; 

     case R.id.menu_profile: 
     Snackbar.make(view,"Profile",Snackbar.LENGTH_SHORT).show(); 
     break; 

      } 
      } 
     }); 

를 다음과 같이 내 구현, 그것은 메뉴를 추가한다고 내가했다 다음과 같이 입력합니다. 이것은 내 데모에서 사용한 정확한 코드입니다. 아래에있는 스 니펫에 언급되어 있습니다.

<?xml version="1.0" encoding="utf-8"?> 
    <menu xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item 
      android:id="@+id/menu_home" 
      android:icon="@drawable/icon_home_hdpi" 
      android:title="Home"/> 
     <item 
      android:id="@+id/menu_to_do" 
      android:icon="@drawable/icon_todo_hdpi" 
      android:title="To Do"/> 
     <item 
      android:id="@+id/menu_add_books" 
      android:icon="@drawable/icon_add_hdpi" 
      android:title="Add"/> 
     <item 
      android:id="@+id/menu_notification" 
      android:icon="@drawable/icon_notification_hdpi" 
      android:title="Notification"/> 
     <item 
      android:id="@+id/menu_profile" 
      android:icon="@drawable/icon_profile_hdpi" 
      android:title="Profile"/> 

    </menu> 
+1

어떤 라이브러리를 사용하고 있습니까? – Sharj

+0

나는 이것을 사용하고있다 : - 'com.roughike : bottom-bar : 1.2.1'을 컴파일한다. – saunlogan

+0

'R.menu.bottom_home_menu' 파일은 어떻게 보이나요? – Sharj

답변

0

테스트 할 라이브러리가 없지만 원본 아이콘에 상태가 다른 상태의 이미지가있는 StateListDrawable을 설정할 수 있습니다.

이 파일을 드로어 블로 추가하고이 xml을 이미지 배경으로 지정하기 만하면됩니다.

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/numpad_button_bg_selected" android:state_selected="true"></item> 
    <item android:drawable="@drawable/numpad_button_bg_pressed" android:state_pressed="true"></item> 
    <item android:drawable="@drawable/numpad_button_bg_normal"></item> 
</selector> 
+0

THanks for this, 위 메뉴 파일을 추가했습니다. 위에서 언급 한 파일을 사용하는 방법을 설명해주십시오. – saunlogan

+0

icon_home_hdpi_state.xml이라는 드로어 블 파일을 생성하고 위에 게시 된 XML을 복사합니다. 필요한 경우 아이콘의 이름 만 변경하면됩니다. 그런 다음 메뉴 파일에서 아이콘 이름을 icon_home_hdpi_state로 변경하십시오. – lionscribe

+0

또한 바텀 바 라이브러리에는 setPressed와 같은 기능이 있으므로 하나의 항목을 눌러 둘 수 있습니다. 그렇지 않은 경우 직접 추가하십시오. – lionscribe