我尝试了很多为font size
添加text color
,background
和options menu
但无法解决,如何为以下代码执行此操作?总是感谢帮助.....!,谢谢。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add("Share In Heart Club!");
menu.add("Play");
menu.add("Check Your Heart Type?");
menu.add("Cancel");
// Return true so that the menu gets displayed.
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// Close the menu after a period of time.
// Note that this STARTS the timer when the options menu is being
// prepared, NOT when the menu is made visible.
Timer timing = new Timer();
timing.schedule(new TimerTask() {
@Override
public void run() {
closeOptionsMenu();
}
}, 10000);
return super.onPrepareOptionsMenu(menu);
}
答案 0 :(得分:2)
尝试以下代码
@Override
public boolean onCreateOptionsMenu(android.view.Menu menu) {
// MenuInflater inflater = getMenuInflater();
// inflater.inflate(R.menu.menu, menu);
// setContentView(R.layout.menu);
menu.clear();
setMenuBackground();
menu.add(0, MobilePagesConstant.MenuConstant.MENU_ABOUT, 0,
R.string.menu_about).setIcon(R.drawable.ico_about);
menu.add(0, MobilePagesConstant.MenuConstant.MENU_INDEX, 1,
R.string.menu_index).setIcon(R.drawable.ico_help);
// if (HNHConstant.IS_LAST_LIST_ON == 1) {
menu.add(0, MobilePagesConstant.MenuConstant.MENU_CUSTOMER_SUPPORT, 2,
R.string.menu_customer_support).setIcon(
R.drawable.ico_customer_support);
menu.add(0, MobilePagesConstant.MenuConstant.MENU_LEGAL, 3,
R.string.menu_legal).setIcon(R.drawable.ico_moderate);
menu.add(0, MobilePagesConstant.MenuConstant.MENU_GETTING_STARTED, 0,
R.string.menu_getting_started).setIcon(
R.drawable.ico_gettingstarted);
return true;
}
private void setMenuBackground() {
// TODO Auto-generated method stub
getLayoutInflater().setFactory(new Factory() {
@Override
public View onCreateView(final String name, final Context context,
final AttributeSet attrs) {
if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
try { // Ask our inflater to create the view
final LayoutInflater f = getLayoutInflater();
final View[] view = new View[1];
try {
view[0] = f.createView(name, null, attrs);
} catch (InflateException e) {
chaneDeafultMenu(name, attrs, f, view);
}
// Kind of apply our own background
new Handler().post(new Runnable() {
@Override
public void run() {
view[0].setBackgroundResource(R.drawable.background);
((TextView) view[0]).setTextColor(Color.BLACK);
((TextView) view[0])
.setTypeface(Typeface.SANS_SERIF);
}
});
return view[0];
} catch (InflateException e) {
} catch (ClassNotFoundException e) {
}
}
return null;
}
});
}
static void chaneDeafultMenu(final String name,
final android.util.AttributeSet attrs, final LayoutInflater f,
final View[] view) {
// mConstructorArgs[0] is only non-null during a running call to
// inflate()
// so we make a call to inflate() and inside that call our dully
// XmlPullParser get's called
// and inside that it will work to call
// "f.createView( name, null, attrs );"!
try {
f.inflate(new XmlPullParser() {
@Override
public int next() throws XmlPullParserException, IOException {
try {
view[0] = f.createView(name, null, attrs);
} catch (InflateException e) {
} catch (ClassNotFoundException e) {
}
throw new XmlPullParserException("exit");
}
@Override
public void defineEntityReplacementText(String arg0, String arg1)
throws XmlPullParserException {
// TODO Auto-generated method stub
}
@Override
public int getAttributeCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getAttributeName(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getAttributeNamespace(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getAttributePrefix(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getAttributeType(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getAttributeValue(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getAttributeValue(String arg0, String arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public int getColumnNumber() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getDepth() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getEventType() throws XmlPullParserException {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean getFeature(String arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public String getInputEncoding() {
// TODO Auto-generated method stub
return null;
}
@Override
public int getLineNumber() {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getName() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getNamespace() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getNamespace(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public int getNamespaceCount(int arg0)
throws XmlPullParserException {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getNamespacePrefix(int arg0)
throws XmlPullParserException {
// TODO Auto-generated method stub
return null;
}
@Override
public String getNamespaceUri(int arg0)
throws XmlPullParserException {
// TODO Auto-generated method stub
return null;
}
@Override
public String getPositionDescription() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getPrefix() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object getProperty(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getText() {
// TODO Auto-generated method stub
return null;
}
@Override
public char[] getTextCharacters(int[] arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isAttributeDefault(int arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isEmptyElementTag()
throws XmlPullParserException {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isWhitespace() throws XmlPullParserException {
// TODO Auto-generated method stub
return false;
}
@Override
public int nextTag() throws XmlPullParserException, IOException {
// TODO Auto-generated method stub
return 0;
}
@Override
public String nextText() throws XmlPullParserException,
IOException {
// TODO Auto-generated method stub
return null;
}
@Override
public int nextToken() throws XmlPullParserException,
IOException {
// TODO Auto-generated method stub
return 0;
}
@Override
public void require(int arg0, String arg1, String arg2)
throws XmlPullParserException, IOException {
// TODO Auto-generated method stub
}
@Override
public void setFeature(String arg0, boolean arg1)
throws XmlPullParserException {
// TODO Auto-generated method stub
}
@Override
public void setInput(Reader arg0) throws XmlPullParserException {
// TODO Auto-generated method stub
}
@Override
public void setInput(InputStream arg0, String arg1)
throws XmlPullParserException {
// TODO Auto-generated method stub
}
@Override
public void setProperty(String arg0, Object arg1)
throws XmlPullParserException {
// TODO Auto-generated method stub
}
}, null, false);
} catch (InflateException e1) {
// "exit" ignored
}
}
答案 1 :(得分:1)
http://www.droidnova.com/how-to-create-an-option-menu,427.html 如果您认为有用,请检查链接并投票
答案 2 :(得分:0)
在Android中将样式/主题应用于选项菜单并不容易。但是,有一个great article可以向您展示如何实现自己的。
设置背景颜色是可能的,但它在2.3上非常错误。有关详细信息,请参阅How to change the background color of the options menu?。
答案 3 :(得分:0)
使用您喜欢的图标和颜色创建自定义xml视图。使用menuinflator
将它们扩展到选项菜单。
答案 4 :(得分:0)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
// getMenuInflater().inflate(R.menu.splash_screen, menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.payby_menu, menu);
getLayoutInflater().setFactory(new Factory() {
@Override
public View onCreateView(String name, Context context,
AttributeSet attrs) {
if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
try {
LayoutInflater f = getLayoutInflater();
final View view = f.createView(name, null, attrs);
new Handler().post(new Runnable() {
public void run() {
// set the background drawable
// view.setBackgroundResource(R.drawable.my_ac_menu_background);
// set the text color
((TextView) view).setTextColor(Color.WHITE);
}
});
return view;
} catch (InflateException e) {
} catch (ClassNotFoundException e) {
}
}
return null;
}
});
return super.onCreateOptionsMenu(menu);
}
答案 5 :(得分:-1)
1:您只需编写即可为文本添加颜色 机器人:文字颜色= “#FF00FF” 在textview标签中的布局xml中
或第二种方法是
您可以使用添加颜色 values-> string.xml并将颜色资源添加到字符串