2

有没有人找到一种方法来获得低于 4(api 14)的 android 版本的底部操作栏?我正在阅读教程,它说我需要 api 14。但我知道人们经常找到绕过类似边界的方法。我很感激任何线索。

4

1 回答 1

1

您可以使用actionbarsherlock在 < 14 API 中执行此操作,只需将该库添加到您的项目中。

看到这里我有类似的代码

public class MainActivity extends SherlockActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        setTheme(R.style.Theme_Sherlock_Light);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        menu.add("Save").setIcon(R.drawable.ic_launcher)
                .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
        menu.add("Search").setShowAsAction(
                MenuItem.SHOW_AS_ACTION_ALWAYS
                        | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
        SubMenu sub = menu.addSubMenu("Options");
        sub.add(0, SubMenu.NONE, 0, "First");
        sub.add(0, SubMenu.NONE, 1, "Second");
        sub.add(0, SubMenu.NONE, 2, "Three");
        sub.getItem().setShowAsAction(
                MenuItem.SHOW_AS_ACTION_ALWAYS
                        | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
        // HERE IS WHere I AM FACING PROBLEM IN
        getSupportMenuInflater().inflate(R.menu.activity_main, menu);
        MenuItem actionItem = menu
                .findItem(R.id.menu_item_share_action_provider_action_bar);
        ShareActionProvider actionProvider = (ShareActionProvider) actionItem
                .getActionProvider();
        actionProvider
                .setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME); // this
                                                                                                // is
                                                                                                // BRILLIANT
                                                                                                // WAY
                                                                                                // TO
                                                                                                // AVOID
                                                                                                // REPEATation
        actionProvider.setShareIntent(createShareIntent());

        return super.onCreateOptionsMenu(menu);
    }

    private Intent createShareIntent() {

        Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
        sharingIntent.setType("text/plain");

        sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "hi hello");

        return sharingIntent;
    }
}

我添加了一个在 android 清单中android:uiOptions="splitActionBarWhenNarrow"

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:uiOptions="splitActionBarWhenNarrow" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

所以 o/p 在 (Galaxy Tab Android 2.3.3)

在此处输入图像描述


在此处输入图像描述


银河流行音乐(Android 2.1)

在此处输入图像描述

在此处输入图像描述

这只是供您理解的示例。使用更少的选项,然后充分感受您的要求。

于 2013-04-26T10:05:38.557 回答