2015-02-01 2 views
1

저는 Java와 Android가있는 초보자입니다. 현재는 여러 하위 메뉴 항목이있는 메뉴 버튼이있는 간단한 응용 프로그램을 만들고 있습니다. 기본적으로, 나는이 앱을 만들어서 물건을 배우고있다.하위 메뉴 항목을 클릭하여 레이아웃 색상을 변경하십시오.

내가 원하는 것을 원하십니까? 하위 메뉴 항목을 클릭하여 기본 레이아웃 색상을 변경하고 싶습니다. 어쨌든

이 열립니다 내 메뉴 아이콘은

입니다 하위 메뉴 :

서브 메뉴는 별도의 메뉴 XML에 설정되어
<item 
    android:id="@+id/action_pozadine" 
    android:orderInCategory="100" 
    android:icon="@drawable/ic_action_picture" 
    app:showAsAction="always" 
    android:title="pozadine"/> 

:

<item 
    android:title="Pozadina1" 
    android:id="@+id/poz_1" 
    /> 
<item 
    android:title="Pozadina2" 
    android:id="@+id/poz_2" 
    /> 

하위 메뉴 항목이 팝업으로 팽창하고 있습니다 "action_pozadine"을 클릭하면 팝업 창이 나타납니다.

case R.id.action_pozadine: 

     View menuItemView = findViewById(R.id.action_pozadine); 
     PopupMenu popupMenu = new PopupMenu(this, menuItemView); 
     popupMenu.inflate(R.menu.submenu); 
     popupMenu.show(); 
     return true; 

하위 메뉴 항목 중 하나를 클릭하여 기본 레이아웃의 색상을 변경하려면 어떻게해야합니까? 심지어 가능할까요?

많은 튜토리얼을 검색했지만 Button onclick 리스너가 모두 포함되어있어 메뉴 나 하위 메뉴에 Button을 넣을 수 없습니다.

정말 도움이됩니다.


그래서 나는 그것을 얻을 수 있었다. 이 onMenuItemClick 코드는 지금 모습입니다 :

@Override 
public boolean onMenuItemClick(MenuItem submenu) { 
    switch (submenu.getItemId()) { 
     case R.id.poz_1: 
      Toast.makeText(getApplicationContext(), "Pozadina 1", Toast.LENGTH_SHORT).show();     
      return true; 

     case R.id.poz_2: 
      Toast.makeText(getBaseContext(), "Pozadina 2", Toast.LENGTH_SHORT).show(); 
      return true; 


    } 

사람은 어떻게 레이아웃 배경 색상을 변경하거나 그 하위 메뉴 버튼을 클릭하여 레이아웃 배경의 드로어 블 전화를 아는 사람?

감사합니다.

+0

이는 PopupMenu HTTP에 OnMenuItemClickListener을 추가

LinearLayout layout = new LinearLayout(this); 

이 또는 당신이 ID를 사용하여 얻을 수 있습니다 // 개발자 .android.com/reference/android/widget/PopupMenu.html # setOnMenuItemClickListener (android.widget.PopupMenu.OnMenuItemClickListener) –

+0

감사합니다. 나는 그럭저럭 일할 수 있었다. –

답변

0

레이아웃 가져 오기 : 단순히 그런

LinearLayout layout = (LinearLayout)findViewById(R.id.yourLayoutId); 

:

layout.setBackgroundColor(Color.RED); 
+0

큰 감사합니다. –

관련 문제