#java #android #android-activity #layout #fragment
Вопрос:
Есть ли способ реализовать кнопку, до которой можно добраться отовсюду? Кнопка должна быть видна в каждом окне приложения.
Ответ №1:
Вы не можете создать кнопку, которая существует в каждом действии и фрагменте, но вы можете создать кнопку для каждого действия, и все они будут выглядеть одинаково в каждом действии. Я предпочитаю использовать плавающую кнопку действия, и вот как ее использовать :
Сначала внедрите androidx.appcompat:appcompat:1.1.0
в свой файл gradle :
implementation 'androidx.appcompat:appcompat:1.1.0'
Затем добавьте этот код в XML-файл для каждого действия, как и любое другое представление ( но добавьте его как последнее представление).:
lt;com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@ id/_fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="16dp" android:layout_gravity="right|bottom" app:srcCompat="@drawable/an_icon_for_the_button"/gt;
Затем импортируйте их в каждое действие:
import androidx.appcompat.app.AppCompatActivity; import androidx.annotation.*; import com.google.android.material.floatingactionbutton.FloatingActionButton
Затем добавьте кнопку плавающего действия к каждому действию:
private FloatingActionButton _fab;
Добавьте это в пустоту onCreate в каждом действии:
_fab = (FloatingActionButton) findViewById(R.id._fab); _fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { //here enter what will happen when the user clicks the button //in your example, this will open the sidebar } });