Реализуйте кнопку, доступную из каждого фрагмента и действия

#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  }  });