# 39 의 옵션 메뉴에 Bar& 작업이든지 배경색입니다 변경하는 방법, 안드로이드 4.2?

39; d like to 변경하십시오 i& 배경색입니다 옵션 (오버플로입니다) 메뉴에서 안드로이드 4.2. 나도 날잡아 모든 방법에 의해 설정된 기본 색상을 보여주는 것은 사실이지만 여전히 search. 나는 다음과 같은 코드를 사용하여 &amp. XML 구성.

  • 마리나스티비티스자바 *
public class MainActivity extends Activity {

@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    getActionBar().setIcon(R.drawable.ic_launcher);     
    getActionBar().setTitle("Sample Menu");
    getActionBar().setBackgroundDrawable(new 
               ColorDrawable(Color.parseColor("#33B5E5"))); 

    int titleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
    TextView titleText = (TextView)findViewById(titleId);
    titleText.setTextColor(Color.parseColor("#ffffff"));

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    setMenuBackground();
    return true;
}

protected void setMenuBackground(){                     
    // Log.d(TAG, "Enterting setMenuBackGround");  
    getLayoutInflater().setFactory( new Factory() { 

        @Override
        public View onCreateView(String name, Context context,
                AttributeSet attrs) {
            if ( name.equalsIgnoreCase( "com.android.internal.view.menu.IconMenuItemView" ) ) {
                try { // Ask our inflater to create the view  
                    LayoutInflater f = getLayoutInflater();  
                    final View view = f.createView( name, null, attrs );  
                    /* The background gets refreshed each time a new item is added the options menu.  
                    * So each time Android applies the default background we need to set our own  
                    * background. This is done using a thread giving the background change as runnable 
                    * object */
                    new Handler().post( new Runnable() {  
                        public void run () {  
                            // sets the background color   
                            view.setBackgroundResource( R.color.menubg);
                            // sets the text color              
                            ((TextView) view).setTextColor(Color.WHITE);
                            // sets the text size              
                            ((TextView) view).setTextSize(18);
            }
                    } );  
                return view;
            }
        catch ( InflateException e ) {}
        catch ( ClassNotFoundException e ) {}  
    } 
            return null;
        }});
}

}
  • 메누.1믈 *
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/action_settings"
    android:icon="@drawable/menu"
    android:showAsAction="always"
    android:title="@string/action_settings">
    <menu>
        <item
            android:id="@+id/item1"               
            android:showAsAction="always"
            android:title="@string/item1" />
        <item
            android:id="@+id/item2"               
            android:showAsAction="always"
            android:title="@string/item2" />
        <item
            android:id="@+id/item3"
            android:showAsAction="always"
            android:title="@string/item3" />
        <item
            android:id="@+id/item4"
            android:showAsAction="always"
            android:title="@string/item4" />
    </menu>
</item>

</menu>
  • 콜로리스마르 *
<color name="menubg">#33B5E5</color>
  • 위의 모든 effect:* 세미노백그로런드 취하지 않고 있다.

img src = &quot http://i.stack.imgur.com/xFlzp.png&quot <;; width = &quot 240"; alt = &quot 메뉴 Sample&quot >;;

위 사진, I want to change from black 을 메뉴 배경에 파란색 에서 작업 표시줄 . 왜 내가 한 일, 이를 어떻게 해야 합니까?

질문에 대한 의견 (1)

작업 표시줄 스타일을 발생기입니다 , 제안한 써니, 매우 유용한 있지만, 이는 대부분 파일 , 많이유 생성하는지 관계가 없는 경우에만 변경하십시오 란색이며 하는 배경.

그래서 더 깊게 파고 있는 부품 며칠입니까 좁히기 위해 it 를 zip 생성하는지 했고, 그래서 나는 내 일에 대한 최소한의 어플리케이션 다음은 내가 내말들어봐 변경되는지 밝혀냈다.

, 스타일로 발생기입니다 관련 설정은 팝업 메뉴 , , 하위 회전자 패널 및 색상 영향을 주는 &quot 오버플로입니다 background".

enter 이미지 여기에 설명을!

하지만 모든 생성된 파일은 zip 아웃해야 그럽세 작성하고, 정말 필요한 경우에만 ', ' 한 이미지를 menu_dropdown_panel_example.9.png 디스크입니다. 구성은 다음과 같습니다.

enter 이미지 여기에 설명을!

따라서 다른 버전의 迈向 '추가 해결안에서는 res/drawable-*'. (그리고 아마도 변경하십시오 '를' menu_dropdown_panel.9.png.)

그 후, 예를 들어, '다음' 에서 ',' 를 안드로이드 팝업멘스일 res/values/themes.xml 했습니다 '및' 기술입니까 안드로이드 팝업백그로런드 주요 꾸미기야.




        @style/MyApp.PopupMenu
        @style/MyApp.ActionBar




        @drawable/menu_dropdown_panel





        @drawable/blue_action_bar_background


물론, '안드로이드마니페스트리스메르 에서':

What you get 대체하십시오 설정:

enter 이미지 여기에 설명을!

단, m # 39 를 기본 테마 '' 드미트로트라이트 I& 사용하여. '드미트로 사용하는 경우' (홀로 어두움), there& # 39 에 추가로 필요하게 단계 이 질문에 대해!

또한, if you (나처럼) 하고 싶은 메뉴, 작업 표시줄 스타일을 '에서 이 같은 일이 아니라 전체 동일팔레트에 res/drawable/blue_action_bar_background.xml':



















적어도 켜짐이 안드로이드 4.0+ 멋지구리해요 작동됨 (apiu 수준 14+).

해설 (11)

여기에 대한 작업 솔루션의 경우 방문하는 사람들은 여전히 대한 어떤 방법이 주효했는가 나를 - 이 캐비닛용입니다 아프콤파트 지원 라이브러리. 이는 연속 마티오노바 스타일을 위해 설명했다 여기서요

다음은 스테일스.1믈 절실해졌습니다.





        @style/MyActionBar

        @style/MyActionBar.MenuTextStyle

        @color/skyBlue



        @color/red
        @style/MyActionBarTitle



        @color/white



        @color/red
        bold
        25sp

this is how it 는 핑크 색상은 하늘색 및 텍스트 및 menuitem 보입니다. 배경색에 menuitem 티스트시즈 25sp 함께 있다.

! [입력하십시오. 이미지 여기에 설명을] [2]

해설 (9)
해결책

색상은 마티오노바 쉽게 변경할 수 있습니다. 1 및 [마티오노바 발생기입니다] 사용할 수 있는 모든 파일 복사, 붙여넣기 'res' 의 테마 변경하십시오 안드로이드리마니페스트 폴더와 파일.

해설 (2)

이 경우, 읽기, s, t # 39 it& # 39 이전의 모든 답을 작동합니까 단축시킵니다 didn& 때문일 것이다 홀로 어두운 기반 테마.

홀로 추가로 어두운 /dev/raw/raw1 위한 래퍼 (팝업 메뉴 도왔으매 수행한 후 [어떤 조니크 제안됩니다] (https://stackoverflow.com/a/20077381/3394414) # 39, & # 39 xml& 데이터베이스에구성원을 다음 스타일을 추가해야 합니다. 파일:


    @style/YourPopupMenu

그 후 참조입니다 테마를 요소:


    .
    .
    .
    @style/PopupWrapper

39 의 that& it!

해설 (4)

내 간단한 트릭 변경하시려면 배경색에 색깔등을 팝업 메뉴 / 옵션 메뉴를 텍스트에서


    @style/MyPopupMenu
    @style/TextAppearance



    @color/Your_color_for_background 



    @color/Your_color_for_text
해설 (1)

여기 있는 경우에 그 중 가장 최신 안드로이드 스튜디오 작업 중인 도구막대 솔루션이므로 이 색상, 옵션 메뉴가 추가 변경하십시오 도구막대 데이터베이스에구성원을 도구막대 요소점

 app:popupTheme="@style/MyDarkToolbarStyle"

그럼 내 스타일 스테일스.1믈 정의하십시오 팝업 메뉴

'스타일 이름 = &quot MyDarkToolbarStyle&quot <;; 모피쳐 = &quot ThemeOverlay.AppCompat.Light&quot >;; ,,, /item&gt @color/mtrl_white_100&lt &gt android:colorBackground&quot &quot &lt 항목설명프로세서 name = ,,, /item&gt @color/mtrl_light_blue_900&lt &gt android:textColor&quot &quot &lt 항목설명프로세서 name = '/style&gt <;

배경 없는 콜로백그로런드 사용할 수 있어야 합니다. 후자는 적용할 모든 것 (메뉴 자체 및 각 메뉴 항목을) 전 적용되며 팝업 메뉴.

해설 (0)

39 m, 마침내 나는 attaboy i& 또한 동일한 문제가 발생, 이를 통해 단순한 솔루션. 그냥 한 행의 작업 표시줄 스타일을 덧붙였다.


    @color/colorAccent
    @color/colorAppWhite
  • 배경 변경 옵션 메뉴를 *&quot, android:colorBackground&quot 충분하다.
해설 (0)

빨리!

styles.xml



    @color/colorBackground
    @color/colorItem

이 특정 시켜버리므로 추가하고 데이터베이스에구성원을 아프스메 스타일


    ...
    @style/popupTheme

완료!

해설 (1)

Menuitem 스타일과 테마 아래 따라 오버플로입니다 에 적용할 수 있습니다. 그래서 우리는 오버플로입니다 메뉴는 목록보기 테마 목록보기 따라 적용할 수 있습니다.

아래 코드를 스테일스.1믈 적용하십시오


@style/PopupMenuListView
        @style/PopupMenuTextView
        @style/PopupMenu
        40dp




        @color/app_navigation_divider
        1sp
        @drawable/list_selector




        @color/app_white
        normal
        18sp
        25dp
        @drawable/navigation_arrow_selector




        @drawable/menu_overflow_bg
해설 (0)

난 그냥 hex 값을 변경할 수 있는 컬러 작업을 통해 오버플로입니다 http://www1.itrc. 검토하고 있다.



    HEX VALUE OF COLOR
해설 (0)

앱 내의 색상 변경 작업 메뉴에서 테마 안드로이드 아템백그로런드 속성을 설정할 수 있습니다.

예를 들면 다음과 같습니다.

<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. &gt 거짓값 -;


        @color/drk_colorPrimary
        @color/drk_colorPrimaryDark
        @color/drk_colorAccent
        @style/NoTitle
        true
        @color/white


        @color/drk_colorPrimary

끝 - &lt 스니핏 >;!

해설 (0)

다음과 같은 추가 스테일스.1믈 데이터베이스에구성원을 ''



    @color/white
    @color/colorPrimaryDark

테마 변경 '에서' activity_main.xml 뿐입니다.

android:theme="@style/Custom_Theme"
해설 (0)

이 코드를 시도하시겠습니까. 이 스니핏을 추가 데이터베이스에구성원을 res&gt 스테일스.1믈 values>;


    @style/Theme.stylingactionbar.widget


    @color/DarkSlateBlue



    @style/PopupMenu

그리고 아래 추가 마니페스트리스메르 스니핏 go-dell 애플리케이션

해설 (0)

이 또한 내가 예전에는 작동됩니다.

이 코드의 적용하십시오 언크리치 () 함수

val actionBar: android.support.v7.app.ActionBar? = supportActionBar
    actionBar?.setBackgroundDrawable(ColorDrawable(Color.parseColor("Your color code here")))    
해설 (0)

    #424242
    @style/TextAppearance



    #E9E2BF
해설 (0)

다음은 필요한 변경용 테마 변경 작업 표시줄 &amp. 오버플로입니다 메뉴 배경색에. Android:background&quot, &quot 구성해야 합니다. 악타이온바스티리 &amp 있다. 팝업멘스일




        @style/ActionBarLight
        @style/ListPopupWindowLight



        @color/white



        @color/white
해설 (0)