2017-10-06 1 views
2

툴바의 저장 항목을 회색으로 표시하면 디자인 모드에서만 실행되지만 런타임에는 절대로 표시되지 않습니다.android - 메뉴 항목을 흰색으로 유지합니다.

enter image description here

이 코드를 사용하고 있습니다 : 그것은 가능 있어요

@Override 
public boolean onPrepareOptionsMenu(Menu menu) { 
    if(count > 0) { 
     menuItemSave.setEnabled(true); 

    } else { 
     menuItemSave.setEnabled(false); 
    } 

    return true; 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.options_menu, menu); 

    menuItemSave = menu.findItem(R.id.save); 

    return true; 
} 

/비활성화하지만 사용할 때 정말 회색으로 전환하지.

답변

3

단추를 사용하거나 사용하지 않도록 설정하면 사용자 지정 색을 사용하여 색을 변경할 수 있습니다. 색상 [색상 변경 귀하의 요구 사항에 따라]/custom_button_color.xml :

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:color="#FF0000" android:state_enabled="false" /> 
    <item android:color="#CCCCCC"/> 
</selector> 

당신의 필수 버튼 항목으로 설정 menu.xml 파일에서

android:textColor="@color/custom_button_color" 
0

같은 안드로이드 docs onPrepareOptionsMenu에 따르면 직전이라고합니다 메뉴가 열립니다. 그러나 메뉴가 항상 열리면 호출되지 않습니다. 당신은 항상 열려있는 메뉴를 업데이트 할 때

그래서,

안드로이드 3.0에

이상, 당신은() invalidateOptionsMenu를 호출해야합니다. 그러면 시스템에서 onPrepareOptionsMenu()를 호출하여 메뉴 항목을 업데이트 할 수 있습니다.

관련 문제