gpt4 book ai didi

android - 用于手动实现的 ActionBar 溢出菜单样式信息

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:08 26 4
gpt4 key购买 nike

我正在尝试为其他 ActionBar 项目复制溢出菜单下拉功能。我正在研究此功能的手动实现,因为我认为它已被排除在环境之外(可能会强制 UI 标准化)。当您单击“溢出”菜单时,有人知道下拉列表使用的是什么样式/样式项吗?

编辑

溢出按钮实际上是一个修改过的微调器。这是它的样式信息。

<style name="Widget.Holo.Spinner" parent="Widget.Spinner.DropDown">
<item name="android:background">@android:drawable/spinner_background_holo_dark</item>
<item name="android:dropDownSelector">@android:drawable/list_selector_holo_dark</item>
<item name="android:popupBackground">@android:drawable/menu_dropdown_panel_holo_dark</item>
<item name="android:dropDownVerticalOffset">0dip</item>
<item name="android:dropDownHorizontalOffset">0dip</item>
<item name="android:dropDownWidth">wrap_content</item>
<item name="android:popupPromptView">@android:layout/simple_dropdown_hint</item>
<item name="android:gravity">left|center_vertical</item>
</style>

最佳答案

以下是我拼凑的内容:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dropdownContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

<LinearLayout
android:id="@+id/leftBuffer"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />

<LinearLayout
android:layout_width="150dp"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
android:id="@+id/actionbarDropdown"
style="@style/Widget.ActionBarDropDown"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:cacheColorHint="@android:color/transparent"
android:entries="@array/sortOptions" />

<LinearLayout
android:id="@+id/bottomBuffer"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

<LinearLayout
android:id="@+id/rightBuffer"
android:layout_width="118px"
android:layout_height="match_parent" />

</LinearLayout>

将 onClick 添加到 ActionBar 项:将上述布局作为子项添加到 Activities 根 ViewGroup 中,让您产生下拉菜单的错觉。

将 onClick 添加到每个缓冲区,从根 ViewGroup 中删除 View ,允许在您尝试移动焦点时下拉“退出”。

下拉菜单的样式信息是:

<item name="android:background">@drawable/menu_dropdown_panel_holo_light</item>
<item name="android:dropDownSelector">@drawable/list_selector_background</item>

每个列表项的布局是:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="48dp"
android:textSize="17sp"
android:gravity="right|center_vertical"
style="?android:attr/dropDownItemStyle"
android:ellipsize="marquee"
android:id="@android:id/text1">
</TextView>

这并没有提供溢出下拉菜单功能的完美副本,但非常接近。如果其他人知道以更集成的方式重现此功能的方法,我将非常感兴趣!

关于android - 用于手动实现的 ActionBar 溢出菜单样式信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7148716/

26 4 0