Android studio как сделать прозрачную кнопку
Перейти к содержимому

Android studio как сделать прозрачную кнопку

  • автор:

Полупрозрачная панель для ImageView

Для экономии места, когда требуется для ImageView сделать сопровождающий текст, можно наложить текст поверх ImageView, при этом сам TextView сделать полупрозрачным. Здесь нам поможет разметка RelativeLayout, позволяющая наложить два компонента друг на друга:

Как видно на скриншоте, текст лёг поверх картинки, немного захватив задние лапки и пушистый хвост.

А как поступить с более сложным случаем, когда нам нужно использовать два TextView поверх ImageView. В этом случае поместим текстовые метки в разметку LinearLayout, которую свою очередь сделаем полупрозрачной и поместим её уже поверх ImageView, как это делали в первом примере.

Данный приём можно использовать не только для отдельных ImageView, но и для адаптеров к GridView, когда у каждой ячейки сеточной компоновки требуется разместить ImageView и подпись к нему.

Невидимая / прозрачная кнопка, которая работает как обычная в Android?

Как получить одну область посередине кликабельного изображения (а не всего изображения)? Пробовал с помощью кнопки, установленной на невидимую и кликабельную, но кнопка не работает. Какие есть альтернативы невидимой / прозрачной кнопке, которая работает как обычная?

Я также думал о абсолютно прозрачной и кликабельной PNG, которая должна работать, но, возможно, не лучший способ?

Поделиться Источник 23 сентября 2010 в 05:49

5 ответов

Button theButton = (Button)findViewById(R.id.theButton); theButton.setVisibility(View.VISIBLE); theButton.setBackgroundColor(Color.TRANSPARENT); phoneButton.setOnClickListener(new OnClickListener() < @Override public void onClick(View v) < // DO STUFF >>); 

Поделиться 27 января 2011 в 16:28

android:background="@android:color/transparent" 

Поделиться 05 апреля 2013 в 18:50

Вы можете попробовать установить прозрачный фон для кнопки. Но не изменяйте видимость кнопок, потому что это мешает просмотру событий клика.

Поделиться 23 сентября 2010 в 05:56

Вы также можете использовать

android:background = "@null" 

Поделиться 19 февраля 2014 в 15:59

android:background="?android:attr/selectableItemBackground" 

Floating Action Button в Android Studio — часть 1

spec_android-20219-e709d6.png

Итак, в данном уроке я расскажу о том, как делать простейшую анимацию летающей кнопки Floating Action Button.

Первым делом создайте новое приложение в Android Studio с пустым активити (Empty Activity).

Для работы с Floating Action Button в Android Studio необходимо подключить библиотеку Design. Чтобы это сделать нужно перейти в Gradle Scripts -> build.gradle (Modul: app). В build.gradle (Modul: app) в раздел dependencies добавьте такую строчку:

 
compile ‘com.android.support:design:25.3.1’

После чего нужно синхронизировать проект, нажав на ссылку Sync Now в верхнем правом углу. Теперь можно приступать к созданию летающей кнопки. Первым делом, перейдите к представлению MainActivity, т.е. к файлу activity_main.xml, который расположен в app -> res -> layuot, и отредактируйте его содержимое следующим образом:

 
xml version="1.0" encoding="utf-8"?> 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:layout_width="match_parent" android:layout_height="match_parent" tools:context="ru.lessons.fabanimation.MainActivity"> android.support.design.widget.FloatingActionButton android:id="@+id/fabHideFab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:layout_margin="20dp" app:backgroundTint="#9ACD32" app:borderWidth="5dp" app:elevation="10dp" app:fabSize="normal" app:srcCompat="@android:drawable/ic_menu_camera"/> Button android:id="@+id/btnShowFab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|left" android:layout_margin="20dp" android:text="SHOW FAB"/> android.support.design.widget.CoordinatorLayout> 

В примере мы будем использовать две кнопки. Первая кнопка — Floating Action Button, при нажатии на которую она будет плавно уменьшаться до тех пор, пока не исчезнет совсем. Вторая кнопка — Button, при нажатии на которую будет восстанавливаться видимость Floating Action Button. Чтобы кнопки заняли свои позиции внутри контейнера в соответствии со своими настройками, в качестве контейнера в activity_main.xml необходимо использовать CoordinatorLayout.

Далее нам нужно будет создать каталог для хранения файлов с настройками анимации. Для этого перейдём к каталогу ресурсов проекта app -> res и, нажав на нём правой кнопкой мыши, в появившемся меню выберем New -> Android resource directory. В открывшемся окне зададим наименование нового каталога. Назовём его anim. После создания каталога anim создадим в нём файл, отвечающий за скрытие кнопки Floating Action Button. Для этого нажмите правой кнопкой мыши на каталоге anim и в появившемся меню выберите New -> Animation resource file. Назовите его fab_hide.

Отредактируйте его содержимое следующим образом:

 
xml version="1.0" encoding="utf-8"?> set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:duration="1000" android:shareInterpolator="true"> scale android:fromXScale="1.0" android:fromYScale="1.0" android:toXScale="0.0" android:toYScale="0.0" android:pivotX="50%" android:pivotY="50%" /> alpha android:fromAlpha="1.0" android:toAlpha="0.0" /> set> 

Теперь аналогичным образом нужно создать ещё один файл, который будет отвечать за появление кнопки Floating Action Button. Назовите этот файл fab_show и отредактируйте его содержимое так:

 
xml version="1.0" encoding="utf-8"?> set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:duration="1000" android:shareInterpolator="true"> scale android:fromXScale="0.0" android:fromYScale="0.0" android:toXScale="1.0" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" /> alpha android:fromAlpha="0.0" android:toAlpha="1.0" /> set> 

fillAfter=»true» означает, что преобразование будет выполнятся после завершения анимации. duration=»1000″ устанавливает время выполнения анимации в миллисекундах. В данной ситуации установлено 1000 миллисекунд, или 1 секунда. shareInterpolator=»true» устанавливает возможность использования интерполятора всеми дочерними элементами. Элемент scale отвечает за изменение размера кнопки при анимации, где параметры fromXScale и fromYScale — это начальные значения масштабов кнопки по осям X и Y на момент начала анимации, а параметры toXScale и toYScale — это конечные значения масштабов на момент завершения анимации. Значения этих параметров имеют тип float и варьируются от 0 до 1. Значение 1.0 соответствует натуральному масштабу. Параметры pivotX и pivotY указывают на координату внутри кнопки, относительно которой происходит изменение размера кнопки. Т.е. эта координата становиться центром, относительно которого кнопка уменьшается при её скрытии, или увеличивается при её появлении. Элемент alpha отвечает за прозрачность кнопки, где значение 1.0 соответствует абсолютной непрозрачности, а 0.0 — абсолютной прозрачности. Параметр fromAlpha — это начальное значение прозрачности, а toAlpha — конечное значение прозрачности.

Теперь перейдите к MainActivity и отредактируйте его код следующим образом:

 
package ru.lessons.fabanimation; import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.Button; public class MainActivity extends AppCompatActivity  private FloatingActionButton fabHideFab; private Button btnShowFab; private Animation animShowFab, animHideFab; @Override protected void onCreate(Bundle savedInstanceState)  super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //анимация animShowFab = AnimationUtils.loadAnimation(this, R.anim.fab_show); animHideFab = AnimationUtils.loadAnimation(this, R.anim.fab_hide); //летающая кнопка Floating Action Button fabHideFab = (FloatingActionButton) findViewById(R.id.fabHideFab); //вспомогательная кнопка btnShowFab = (Button) findViewById(R.id.btnShowFab); fabHideFab.setOnClickListener(new View.OnClickListener()  @Override public void onClick(View v)  //анимация скрытия Floating Action Button fabHideFab.startAnimation(animHideFab); > >); btnShowFab.setOnClickListener(new View.OnClickListener()  @Override public void onClick(View v)  //анимация появления Floating Action Button fabHideFab.startAnimation(animShowFab); > >); > > 

Подробнее смотрите в видеоролике.

Прозрачная кнопка на Android

Помогите сделать кнопку прозрачной как указано на рис. введите сюда описание изображения введите сюда описание изображения

Отслеживать
28.7k 22 22 золотых знака 61 61 серебряный знак 141 141 бронзовый знак
задан 16 апр 2018 в 18:06
Captain Mountain Captain Mountain
407 6 6 серебряных знаков 22 22 бронзовых знака
Просто drawable в backrground установите
16 апр 2018 в 18:15

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Создайте новый xml файл в res/drawable и после добавьте свойство background c именем созданного файла.

gradient.xml

layout.xml

Отслеживать
ответ дан 16 апр 2018 в 19:35
Timur Mukhortov Timur Mukhortov
2,059 10 10 серебряных знаков 24 24 бронзовых знака
Обновил ответ. Сделал кнопку более похожей на ту что вы показали.
16 апр 2018 в 19:47

  • java
  • android
  • xml
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.3.8.5973

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *