Подтвердить что ты не робот

Есть ли код для Snackbars в Android L или мы ожидаем, что они сами их реализуем?

На веб-сайте дизайна материалов упоминается новый похожий на тост элемент, называемый Snackbar: http://www.google.com/design/spec/components/snackbars-and-toasts.html

Документация SDK для предварительного просмотра Android L (извините, что не может ссылаться, поскольку она доступна только для загрузки) не упоминает о Snackbar в списке классов или в качестве модификатора в документации класса Toast. Я пропустил что-то очевидное или мне нужно создать собственный Snackbar.java?

4b9b3361

Ответ 1

Обновление 2015-05-29:

Google выпустила библиотеку поддержки дизайна, которая включает Snackbar и другие виджеты Material Design.

Закусочная библиотека, упомянутая в исходном ответе, теперь устарела.

Оригинальный ответ

Я уверен, что Google в конечном итоге включит его в будущий SDK вместе с плавающей кнопкой Action, которая также отсутствует в SDK предварительного просмотра.

Как отметил @friedrich nietzche, я внедрил библиотеку для включения Snackbar в ваш проект.

https://github.com/nispok/snackbar

Надеюсь, что это поможет!

Ответ 4

Snackbar - это просто Crouton с некоторыми полями. Crouton в его текущей форме поддерживает только добавление к началу (0-й элемент) ViewGroup, однако вы можете найти очень "бланк" для Crouton, DownUnderMode, в мой GitHub. Просто будьте осторожны, что официальная библиотека Crouton и версия DownUnderMode немного не синхронизированы (что, мы надеемся, будет исправлено в 2058 году, когда будет принят запрос на вывод DownUnderMode).

Ответ 6

Вот простой способ реализовать snackbar в android

Шаг 1. Добавьте библиотеку поддержки 23 и скомпилируйте свой проект с помощью

compile 'com.android.support:appcompat-v7:23.0.1'

Шаг 2. Добавьте расположение координат в файл активности

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


</android.support.design.widget.CoordinatorLayout>

Шаг 3. Теперь добавьте следующий код в свой MainActivity.java для реализации snackbar

public class MainActivity extends AppCompatActivity {

    CoordinatorLayout coordinatorLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorLayout);
        ShowSnack();
    }

    public void ShowSnack() {
        Snackbar snackbar = Snackbar.make(coordinatorLayout, "Snackbar Label", Snackbar.LENGTH_LONG);
        snackbar.setAction("Action", new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Action", Toast.LENGTH_LONG).show();
            }
        });
        snackbar.setActionTextColor(Color.RED);
        View snackbarView = snackbar.getView();
        snackbarView.setBackgroundColor(Color.DKGRAY);
        TextView textView = (TextView) snackbarView.findViewById(android.support.design.R.id.snackbar_text);
        textView.setTextColor(Color.YELLOW);
        snackbar.show();
    }
}

Надеюсь, это сработает для вас.

Для получения дополнительных уроков от android обратитесь к этому блогу: Trinity Tuts