Всем салют, друзья!
Продолжаем курс по Android:
Темы:
- Введение в программирование под Android
- Архитектура Android
- Установка Android Studio и настройка среды
- Пример Hello World - создание первого приложения для Android
- Базовый обзор приложения для Android
- Вид сетки
- WebView
- Выбор даты
- RatingBar
- Пример PopupWindow
- Проверьте подключение к Интернету
- SharedPreferences
- Управление сеансом с использованием SharedPreferences
- База данных SQLite
- База данных Realm
- Учебник по залпу
- Учебник Пикассо
- Библиотека изображений Glide
- Войти и зарегистрироваться с помощью Restful Web Services (Java + MySQL)
- Загрузить изображение на сервер с помощью Volley
- Push-уведомление с использованием Firebase Cloud Messaging (FCM)
- Преобразование изображения в строку Base64 или строку Base64 в изображение
- Приложение для чата в реальном времени с использованием Firebase
- 4 способа узнать текущую дату в Android
- Руководство по AdMob
- Потяните или проведите вниз, чтобы обновить, используя SwipeRefreshLayout
- Воспроизведение видео с URL-адреса с помощью VideoView
- Пример клиента SOAP с использованием ksoap2
- Как передавать данные из одного действия в другое
- Разбор XML с использованием XMLPullParser
- Как получить текущее местоположение с помощью диспетчера местоположения
- Учебное пособие по Google Maps API - Начало работы
- Разбор JSON из URL
- Загрузить изображение в хранилище Firebase
- Руководство по интеграции Google Analytics
- Учебник по фреске
- Панель навигации
Вступайте в группу - vk.com/mrsisadm - там больше интересного!!!
В этом уроке вы узнаете о примере закусочной Android.
Snackbar - это новый виджет пользовательского интерфейса, представленный в материальном дизайне. Это предварительная версия или, можно сказать, замена виджета Toast. Snackbar используется для отображения короткого сообщения внизу экрана. Сообщение можно закрыть, проведя по нему пальцем.
- Тост можно разместить в любом месте экрана, а Snackbar можно разместить только внизу.
- У тоста не может быть кнопки, в то время как у Snackbar может быть не более одной кнопки действия.
- Сообщение всплывающего сообщения не может быть отклонено до истечения указанного срока. Сообщение Snackbar можно закрыть, просто проведя по нему пальцем.
Мы можем сделать Snackbar, написав следующую строку кода:
1
Snackbar . make ( coordinatorLayout , "Simple Snackbar" , Snackbar . LENGTH_LONG ) . show ( ) ;
Метод make () принимает 3 аргумента.
Первый аргумент: это корневой макет активности. Здесь мы использовали CoordinatorLayout, потому что он дает некоторые дополнительные функции Snackbar, например, если мы использовали плавающую кнопку, тогда, когда отображается Snackbar, плавающая кнопка автоматически поднимается, чтобы предоставить место для Snackbar. Используя CoordinatorLayout, мы также можем закрыть Snackbar, проведя пальцем по экрану.
Второй аргумент: это сообщение, которое вы хотите отобразить в Snackbar.
Третий аргумент: период времени, в течение которого должна отображаться Snackbar.
- Snackbar.LENGTH_SHORT: отображение на короткий период времени
- Snackbar.LENGTH_LONG: отображение в течение длительного периода времени
- Snackbar.LENGTH_INDEFINITE: отображается, пока вы его не закроете.
Кнопкой действия
Вы также можете добавить кнопку действия в Snackbar, используя метод setAction () . Это можно сделать следующим образом.
Snackbar . make ( coordinatorLayout , "Snackbar with Action" , Snackbar . LENGTH_LONG ) . setAction ( "OK" , new View . OnClickListener ( ) {
@Override
public void onClick ( View v ) {
Snackbar . make ( coordinatorLayout , "You clicked on action button" , Snackbar . LENGTH_SHORT ) . show ( ) ;
}
} ) . show ( ) ;
Вы не можете добавить более одной кнопки.
Настройка Snackbar
Мы можем изменить цвет текста сообщения и кнопки действия следующим образом.
//set color of action button text
snackbar . setActionTextColor ( Color . YELLOW ) ;
//set color of snackbar text
TextView view = ( TextView ) snackbar . getView ( ) . findViewById ( android . support . design . R . id . snackbar_text ) ;
view . setTextColor ( Color . GREEN ) ;
Пример Android Snackbar
Ниже в примере показано, как создавать различные типы Snackbar в android.
Создайте новый проект с именем пакета com.snackbarexample .
Примечание. Убедитесь, что вы добавили зависимость для библиотеки поддержки дизайна Android в файл build.gradle (Module: app) . Просто добавьте следующую строку в раздел зависимостей и синхронизируйте проект.
1
compile 'com.android.support:design:23.4.0'
Версия библиотеки может отличаться в зависимости от версии вашего SDK.
Теперь добавьте следующий код в соответствующие файлы.
activity_main.xml
<? xml version = "1.0" encoding = "utf-8" ?>
<android.support.design.widget.CoordinatorLayout
xmlns: android = "http://schemas.android.com/apk/res/android"
xmlns: tools = "http://schemas.android.com/tools"
android: layout_width = "match_parent"
android: layout_height = "match_parent"
android: fitsSystemWindows = "true"
tools: context = "com.snackbarexample.MainActivity"
android: id = "@+id/coordinatorLayout" >
<include layout = "@layout/content_main" />
<android.support.design.widget.FloatingActionButton
android: id = "@+id/fab"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_gravity = "bottom|end"
android: layout_margin = "@dimen/fab_margin"
android: src = "@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
content_main.xml
<? xml version = "1.0" encoding = "utf-8" ?>
<LinearLayout
xmlns: android = "http://schemas.android.com/apk/res/android"
xmlns: tools = "http://schemas.android.com/tools"
xmlns: app = "http://schemas.android.com/apk/res-auto"
android: layout_width = "match_parent"
android: layout_height = "match_parent"
tools: context = "com.snackbarexample.MainActivity"
android: orientation = "vertical"
android: gravity = "center" >
<Button
android: layout_width = "match_parent"
android: layout_height = "wrap_content"
android: text = "Simple"
android: id = "@+id/btn1" />
<Button
android: layout_width = "match_parent"
android: layout_height = "wrap_content"
android: text = "With Action"
android: id = "@+id/btn2" />
<Button
android: layout_width = "match_parent"
android: layout_height = "wrap_content"
android: text = "Custom"
android: id = "@+id/btn3" />
</LinearLayout>
MainActivity.java
package com . snackbarexample ;
import android . app . Activity ;
import android . graphics . Color ;
import android . os . Bundle ;
import android . support . design . widget . CoordinatorLayout ;
import android . support . design . widget . Snackbar ;
import android . view . View ;
import android . widget . Button ;
import android . widget . TextView ;
public class MainActivity extends Activity {
Button btn1 , btn2 , btn3 ;
CoordinatorLayout coordinatorLayout ;
@Override
protected void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState ) ;
setContentView ( R . layout . activity_main ) ;
btn1 = ( Button ) findViewById ( R . id . btn1 ) ;
btn2 = ( Button ) findViewById ( R . id . btn2 ) ;
btn3 = ( Button ) findViewById ( R . id . btn3 ) ;
coordinatorLayout = ( CoordinatorLayout ) findViewById ( R . id . coordinatorLayout ) ;
btn1 . setOnClickListener ( new View . OnClickListener ( ) {
@Override
public void onClick ( View v ) {
Snackbar . make ( coordinatorLayout , "Simple Snackbar" , Snackbar . LENGTH_LONG ) . show ( ) ;
}
} ) ;
btn2 . setOnClickListener ( new View . OnClickListener ( ) {
@Override
public void onClick ( View v ) {
Snackbar . make ( coordinatorLayout , "Snackbar with Action" , Snackbar . LENGTH_LONG ) . setAction ( "OK" , new View . OnClickListener ( ) {
@Override
public void onClick ( View v ) {
Snackbar . make ( coordinatorLayout , "You clicked on action button" , Snackbar . LENGTH_SHORT ) . show ( ) ;
}
} ) . show ( ) ;
}
} ) ;
btn3 . setOnClickListener ( new View . OnClickListener ( ) {
@Override
public void onClick ( View v ) {
Snackbar snackbar = Snackbar . make ( coordinatorLayout , "Custom Snackbar" , Snackbar . LENGTH_LONG ) . setAction ( "OK" , new View . OnClickListener ( ) {
@Override
public void onClick ( View v ) {
Snackbar . make ( coordinatorLayout , "You clicked on action button" , Snackbar . LENGTH_SHORT ) . show ( ) ;
}
} ) ;
//set color of action button text
snackbar . setActionTextColor ( Color . YELLOW ) ;
//set color of snackbar text
TextView view = ( TextView ) snackbar . getView ( ) . findViewById ( android . support . design . R . id . snackbar_text ) ;
view . setTextColor ( Color . GREEN ) ;
snackbar . show ( ) ;
}
} ) ;
}
}
Теперь сохраните и запустите свой проект.
Снимок экрана