样式PopupMenu尺寸

时间:2018-06-21 09:08:06

标签: android popupmenu

在我的Android应用程序(minSdk 11,committedSdk 24)中,如果用户长按主视图中的任何行,则会显示ContextMenu。

ContextMenu根据所按下的行而动态地构建。

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);

    final View view = v;
    final ScrollView sview = (ScrollView) findViewById(R.id.TableScrollView);

    final TableRow tr = (TableRow) v;
    selectTableRow(tr);

    // Imposto titolo
    final SchedaTrenoParsedRow row = (SchedaTrenoParsedRow) view.getTag(R.id.Row);
    menu.setHeaderTitle(getText(R.string.contextmenutitle) + " - " + row.getLocalita());

    if (row.getIndTestPri() != 0 && row.getIndTestSec() != 0) {
        menu.add("Visualizza Moduli").setOnMenuItemClickListener(new OnMenuItemClickListener() {
    .... etc ....

Android 7中出现问题。出现的PopupMenu样式错误。页眉太小太暗,无法在屏幕中居中,并且整个PopupMenu的尺寸都无法适应其中的文本。

为解决此问题,我创建了一个新的values-sw720dp-v24资源文件夹,并在其中创建了一个新的styles.xml文件。

这是我定义的样式。

<style name="ContextPopupMenuStyle" parent="@android:style/Widget.Holo.PopupMenu">
    <item name="android:overlapAnchor">true</item>
    <item name="android:layout_width">wrap_content</item>
</style>

<style name="HeaderText" parent="@android:style/TextAppearance.DeviceDefault.Large.Inverse">
    <item name="android:textColor">#33B3E2</item>
    <item name="android:textSize">18dp</item>
</style>

<style name="MyTheme" parent="android:Theme.Holo">
    <item name="android:contextPopupMenuStyle">@style/ContextPopupMenuStyle</item>
    <item name="android:textAppearancePopupMenuHeader">@style/HeaderText</item>
</style>

所考虑的标题样式。我认为,也是overlayAnchor属性。但是我找不到样式PopupMenu大小的方法。

谢谢

0 个答案:

没有答案