[英]changing text size on popupmenu android
我有一个工作的弹出菜单。 用户将按一个图像,将出现一个包含5个项目的弹出菜单。 问题是我似乎无法更改弹出文本的大小。 调用弹出窗口的Java如下:
public void TheCompanyMenu(View v) {
PopupMenu mypopupmenu = new PopupMenu(this, v);
mypopupmenu.setOnMenuItemClickListener(this);
MenuInflater inflater = mypopupmenu.getMenuInflater();
inflater.inflate(R.menu.popup, mypopupmenu.getMenu());
mypopupmenu.show();
}
@Override
public boolean onMenuItemClick(MenuItem arg0) {
switch (arg0.getItemId()) {
case R.id.option1:
Intent intent1 = new Intent(this, MainActivity.class);
startActivity(intent1);
return true;
case R.id.option2:
Intent intent2 = new Intent(this, Item2.class);
startActivity(intent2);
return true;
case R.id.option3:
Intent intent3 = new Intent(this, Item3.class);
startActivity(intent3);
return true;
case R.id.option4:
Intent intent4 = new Intent(this, Item4.class);
startActivity(intent4);
return true;
case R.id.option5:
Intent intent5 = new Intent(this, Item5.class);
startActivity(intent5);
return true;
default:
return super.onContextItemSelected(arg0);
}
}
Menu xml称为popup,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/option1"
style="@style/PopupItemStyle"
android:textSize="12sp"
android:text="@string/HomeMenu"
android:title="@string/HomeMenu" />
<item android:id="@+id/option2"
style="@style/PopupItemStyle"
android:textSize="12sp"
android:text="@string/option2"
android:title="@string/option2menu" />
<item android:id="@+id/option3"
style="@style/PopupItemStyle"
android:textSize="12sp"
android:text="@string/option3"
android:title="@string/option3menu" />
<item android:id="@+id/option4"
style="@style/PopupItemStyle"
android:textSize="12sp"
android:text="@string/option4"
android:title="@string/option4menu" />
<item android:id="@+id/option5"
style="@style/PopupItemStyle"
android:textSize="12sp"
android:text="@string/option5"
android:title="@string/option5Menu" />
</menu>
我尝试将android:textSize更改为dp,但没有任何效果。
样式xml中的代码是:
<style name="PopupItemStyle">
<item name="android:background">#FFA0A0A0</item>
<item name="android:gravity">center</item>
<item name="android:padding">10dp</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">12sp</item>
</style>
由于我对Java还是很陌生,所以我渴望将Java保持原样(即使用popupmenu),但仍需要更改文本大小。 非常感谢!
实际上,我也想这样做。但是,我用另一种方式做。
private void showPopUp(View v) {
PopupMenu popup = new PopupMenu(DetailActivity.this, v);
LayoutInflater inflater = (LayoutInflater) DetailActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
LinearLayout layout = new LinearLayout(this);
layout.setBackgroundColor(Color.GRAY);
//link layout and popwindow
View myView = inflater.inflate(R.layout.menu_popwindow, null);
PopupWindow myPopupWindow = new PopupWindow(myView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
myPopupWindow.setFocusable(true);//getfocus for editview
//the follow help dismiss popup myPopupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.linkme_menu));
myPopupWindow.setOutsideTouchable(true);
myPopupWindow.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss()
{ } }});myPopupWindow.showAsDropDown(v);
我在动作栏中使用它,您可以自己创建一个新的xml(menu_popwindow)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.