2

我想重现此选项卡指示器结构(屏幕来自 nova 启动器):下拉菜单和右下角的箭头。

在此处输入图像描述

我对代码没有问题,但我无法重现这种外观。我试过这个:

mBar.addTab(mBar.newTab().setText(ctx.getString(R.string.tab_actions)).setTabListener(this).setCustomView(R.layout.navigation_spinner));

其中 mBar 是 sherlock 支持 actionBar。

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent" android:layout_margin="-10dp"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical">
    <Button android:id="@+id/button1" android:layout_width="match_parent"
        android:layout_height="match_parent" android:text="Button" />

</LinearLayout>

这是我的结果:

在此处输入图像描述

问题是中央选项卡中的按钮没有填充选项卡指示器。如何设置自定义视图以完美填充指标而无需边距或填充?或者我必须以不同的方式处理这个问题才能获得像第一个屏幕一样的结果?谢谢指教

4

1 回答 1

0

你想做的事情真的很复杂,而且很难实现。

如果你想要下拉菜单,你可以试试这些:

菜单/options.xml:

<item
    android:icon="@drawable/ic_menu_sort"
    android:showAsAction="ifRoom">
    <menu>
        <item
            android:id="@+id/menuSortNewest"
            android:title="Sort by newest" />
        <item
            android:id="@+id/menuSortRating"
            android:title="Sort by rating" />
    </menu>
</item>

第二种选择:

菜单/options.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/menuSort"
        android:showAsAction="ifRoom"
        android:actionLayout="@layout/action_sort"  />
</menu>

布局/action_sort.xml:

<Spinner xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/ic_menu_refresh"
    android:entries="@array/order" />

菜单资源文档 - http://developer.android.com/guide/topics/resources/menu-resource.html

于 2013-07-08T09:18:34.753 回答