zoukankan      html  css  js  c++  java
  • menu-普通menu弹出框样式

    今天接触到了menu弹出框样式。主要就是在theme下进行调整。现在把接触到的知识点总结一下。

    在theme中,跟menu有关的几个属性如下

    <item name="panelBackground">@android:drawable/menu_panel_color_funui</item>
            <item name="panelFullBackground">@android:drawable/menu_background_fill_parent_width</item>
            <!-- These three attributes do not seems to be used by the framework. Declared public though -->
            <item name="panelColorBackground">#000</item>
            <item name="panelColorForeground">?android:attr/textColorPrimary</item>
            <item name="panelTextAppearance">?android:attr/textAppearance</item>
    
            <item name="panelMenuIsCompact">true</item>
            <item name="panelMenuListWidth">250dip</item>
            <item name="panelMenuListTheme">@android:style/Theme.Funui.CompactMenu</item>

    今天接触到的是一下几个

    <item name="panelBackground">@android:drawable/menu_panel_color_funui</item>

    决定的是menu弹出框的背景颜色。看效果

    <item name="panelBackground">#0000ff</item>

    结果

    <item name="panelMenuListWidth">250dip</item>

    决定的是弹出框的宽度
     看效果(“搜索“两个字位置)

    <item name="panelMenuListWidth">100</item>

    <item name="panelMenuListTheme">@android:style/Theme.Funui.CompactMenu</item>

    这个主要是决定了弹出框的样式,包括每个Item的字体颜色跟大小,item之间分割线颜色,弹出框动画等。

    它的内容如下

        <style name="Theme.Funui.CompactMenu">
        <!-- Menu/item attributes -->
            <item name="android:itemTextAppearance">@style/Email.Theme.Menu.TextAppearance</item>
            <item name="android:listViewStyle">@style/Email.Theme.ListView.Menu</item>
            <item name="android:windowAnimationStyle">@style/Email.Theme.Menu.Animation</item>
            <item name="android:background">@null</item>
        </style>

    它几个属性如下

       <style name="Email.Theme.Menu.Animation" parent="@style/Animation.AppCompat.DropDownUp">
            <item name="android:windowEnterAnimation">@anim/menu_enter_from_bottom</item>
            <item name="android:windowExitAnimation">@anim/menu_out_from_bottom</item>
        </style>

    动画效果。不做解释

        <style name="Email.Theme.Menu.TextAppearance" parent="@style/Base.TextAppearance.AppCompat.Medium">
            <item name="android:textSize">@dimen/panel_menu_text_size</item>
            <item name="android:textColor">@color/panel_menu_text_color</item>
        </style>

    字体大小跟颜色,不解释

       <style name="Email.Theme.ListView.Menu" parent="@style/Base.Widget.AppCompat.ListView.Menu">
            <item name="android:divider">@color/panel_listview_menu_divider_color</item>
        </style>

    分割线颜色,不解释

  • 相关阅读:
    js+canvas画随机4位验证码
    linux 下 查看 nginx 日志中访问前10 的 ip
    mysql greatest函数
    php 如何获取 post 传递的raw 数据
    php 监控文件变化 并上传到服务器
    php 如何统计本周 本月
    Yii2.0 GridView 的强大功能
    git 导出新修改的文件
    ubuntu16.04 下安装phpMyAdmin
    如何在ubuntu16.04 上搭建 phpstorm + xdebug 调试
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_menu_15528203.html
Copyright © 2011-2022 走看看