Вопрос по android-actionbar, android-actionbar-compat, android – ActionBarCompat - как его использовать

11

Я пытаюсь использовать ActionBarCompat в своем собственном проекте. Я уже открыл образец проекта (http://developer.android.com/resources/samples/ActionBarCompat/index.html), но я не знаю, как реализовать его самостоятельно.

Я не могу найти какое-либо руководство. Должен ли я сделать этот проект в виде библиотеки? Может кто-нибудь дать мне несколько указаний, пожалуйста.

Похоже, что в прошлом году Google удалили онлайн-версию своего образца ActionBarCompat (и любого другого образца). Есть ли ссылка на обновленную ссылку? user1499731
Я пошел на ActionBarSherlock ... Fred Rogers

Ваш Ответ

2   ответа
9

как использовать новую библиотеку ActionBarCompat (июль 2013 г.).

ВAndroid Studio, открытьbuild.gradle и добавьте это:

dependencies {
    compile 'com.android.support:appcompat-v7:18.0.+'
}

ВEclipse, создатьпроект библиотеки на основе кода вsdk\extras\android\support\v7\appcompat и добавьте его в свой проект.

Деятельность должна расширятьсяActionBarActivity.

import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.SearchView;
import android.support.v7.app.ActionBar;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends ActionBarActivity {

    ActionBar ab;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ab = getSupportActionBar();
        ab.setTitle("Test");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);

        MenuItem searchItem = menu.findItem(R.id.action_search);
        SearchView searchView = 
                    (SearchView) MenuItemCompat.getActionView(searchItem);

        return super.onCreateOptionsMenu(menu);
    }
}

Темы должны быть (или расширяться) одним изTheme.AppCompat темы, например:

<activity android:theme="@style/Theme.AppCompat.Light" ... />

Источник:Как добавить ActionBarCompat в ваш проект, сообщение в блоге Габриэле Мариотти

22

просто придерживайтесь примера кода, предоставленного подMainActivity.java учебный класс. Вы можете найти этоВот или под<your local android-sdks folder>/samples/android-15/ActionBarCompat/src/com/example/android/actionbarcompat/MainActivity.java, В общем, все, что вам нужно сделать, это следующее:

Code a menu resource where you declare the items for the action bar (See http://developer.android.com/resources/samples/ActionBarCompat/res/menu/main.html) Code an Activity that extends ActionBarActivity Override onCreateOptionsMenu() so that it inflates the menu you coded in step #1 Override onOptionsItemSelected() so that you handle the event when the user taps any of the ActionBar items you defined in step #1.

Я думаю, что имеет смысл создать проект библиотеки Android из кода ActionBarCompat; тогда вы можете просто сослаться на него из своего пользовательского проекта Android. Помните, что это лицензировано в соответствии сApache License, Version 2.0.

@ DiscoS2 Если вы хотите превратить это в библиотеку, вам просто нужно обозначить ее как библиотеку в IDE. В Eclipse вы переходите в настройки проекта & gt; android, прокрутите вниз и проверьте «библиотеку». В IntelliJ вы определяете модуль как библиотеку.
Андрес, как мне превратить это в библиотеку? Также не работает ссылка о. Есть указатели?
Замечательно, чтобы сделать список дел! Спасибо, что следил за вашим списком, установите ActionBarCompat как библиотечный проект, как вы рекомендовали. Все работало, но логотип приложения. Он всегда был логотипом приложения ActionBarCompat, пока я не обнаружил, что оно (вроде) жестко запрограммировано в ActionBarCompat с именем ic_home (.png). Таким образом, я бы добавил еще один пункт в список: 5. Создайте значок в своем проекте & apos ; s & quot; drawable & quot; папки с именем ic-home (.png) & lt; / br & gt;

Похожие вопросы