안드로이드 개발 질문/답변
(글 수 45,052)
말 그대로입니다. OPtionMenu를 사용하면서 백그라운드를 변경하고 싶습니다. 아래코드를 삽입하고 onCreate에서 호출한번 해주고 메뉴를add시켜줬는데도 배경이 변경되질 않고 검은색배경으로만 나오네요
protected void optionsMenuSetMenuBackground()
{
getLayoutInflater().setFactory( new Factory()
{
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
// XmlPullParser parser = getResources().getXml(R.layout.custom_menu);
// AttributeSet attributes = Xml.asAttributeSet(parser);
LayoutInflater f = getLayoutInflater();
final View view = f.createView( name, null, attrs );
new Handler().post( new Runnable() {
public void run () {
view.setBackgroundColor(Color.argb(242, 100, 20, 60));
}
} );
return view;
}
catch ( InflateException e ) {}
catch ( ClassNotFoundException e ) {}
}
return null;
}
});
}
pressed 상태라던지 divider같은건 불가능하고 커스텀으로 만드셔야합니다.