ActionBarCompat - как его использовать

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

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

 user149973122 мая 2013 г., 16:58
Похоже, что в прошлом году Google удалили онлайн-версию своего образца ActionBarCompat (и любого другого образца). Есть ли ссылка на обновленную ссылку?
 Fred Rogers03 мая 2012 г., 15:20
Я пошел на ActionBarSherlock ...

Ответы на вопрос(2)

как использовать новую библиотеку 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 в ваш проект, сообщение в блоге Габриэле Мариотти

Решение Вопроса

просто придерживайтесь примера кода, предоставленного под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.

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

Ваш ответ на вопрос