当前位置: 首页 > article >正文

悬浮按钮和可交互提示的使用

xmlns:app=“http://schemas.android.com/apk/res-auto”

xmlns:tools=“http://schemas.android.com/tools”

android:id=“@+id/drawerLayout”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

tools:context=“.MainActivity”>

<androidx.coordinatorlayout.widget.CoordinatorLayout

android:layout_width=“match_parent”

android:layout_height=“match_parent”>

<androidx.appcompat.widget.Toolbar

android:id=“@+id/toolbar”

android:background=“#969C99”

android:layout_width=“match_parent”

android:layout_height=“wrap_content”/>

<com.google.android.material.floatingactionbutton.FloatingActionButton

android:id=“@+id/fab”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_gravity=“bottom|end”

android:layout_margin=“16dp”

android:src=“@drawable/yes”

app:elevation=“8dp”

/>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

<com.google.android.material.navigation.NavigationView

android:id=“@+id/navView”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:layout_gravity=“start”

app:menu=“@menu/nav_menu”

app:headerLayout=“@layout/nav_header”/>

</androidx.drawerlayout.widget.DrawerLayout>

4.修改MainActivity.java

import androidx.annotation.NonNull;

import androidx.appcompat.app.ActionBar;

import androidx.appcompat.app.AppCompatActivity;

import androidx.appcompat.widget.Toolbar;

import androidx.core.view.GravityCompat;

import androidx.drawerlayout.widget.DrawerLayout;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.Toast;

import com.google.android.material.floatingactionbutton.FloatingActionButton;

import com.google.android.material.navigation.NavigationView;

import com.google.android.material.snackbar.Snackbar;

/**

  • 悬浮按钮和交互提示

*/

public class MainActivity extends AppCompatActivity {

private DrawerLayout mDrawerLayout;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Toolbar toolbar=findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

mDrawerLayout=findViewById(R.id.drawerLayout);

NavigationView navigationView=findViewById(R.id.navView);

FloatingActionButton fab=findViewById(R.id.fab);//悬浮按钮

fab.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//可交互提示

Snackbar.make(v,“删除”,Snackbar.LENGTH_SHORT)

.setAction(“取消”, new View.OnClickListener() {

@Override

public void onClick(View v) {

Toast.makeText(MainActivity.this,“已取消”,Toast.LENGTH_SHORT).show();

}

}).show();

}

});

ActionBar actionBar=getSupportActionBar();

if (actionBar!=null){

actionBar.setDisplayHomeAsUpEnabled(true);

actionBar.setHomeAsUpIndicator(R.drawable.menu);

}

// navigationView.setCheckedItem(R.id.navCall);//默认选中

navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {

@Override

public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {

switch (menuItem.getItemId()){

case R.id.navCall:

Toast.makeText(MainActivity.this,“电话”,Toast.LENGTH_SHORT).show();

break;

case R.id.navFriends:

Toast.makeText(MainActivity.this,“朋友”,Toast.LENGTH_SHORT).show();

break;

case R.id.navLocation:

Toast.makeText(MainActivity.this,“地址”,Toast.LENGTH_SHORT).show();

break;

case R.id.nav_email:

Toast.makeText(MainActivity.this,“邮箱”,Toast.LENGTH_SHORT).show();

break;

case R.id.navTask:

Toast.makeText(MainActivity.this,“任务”,Toast.LENGTH_SHORT).show();

break;

}

mDrawerLayout.closeDrawers();

return true;

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.toolbar,menu);

return true;

}

@Override

public boolean onOptionsItemSelected(@NonNull MenuItem item) {


http://www.kler.cn/a/530080.html

相关文章:

  • 本地缓存~
  • Kafka常见问题之 java.io.IOException: Disk error when trying to write to log
  • MoonBit 编译器(留档学习)
  • HarmonyOS简介:应用开发的机遇、挑战和趋势
  • LeetCode:494.目标和
  • 《解锁AI黑科技:数据分类聚类与可视化》
  • 设计数据库表会考虑哪些内容?
  • 文字投影效果
  • C++ Primer 命名空间的using声明
  • 2025最新在线模型转换工具onnx转换ncnn,mnn,tengine等
  • mysql死锁排查_mysql 死锁问题排查
  • 解密全同态加密中的自举(Bootstrapping)
  • CKA 不假题 练习笔记 (四)
  • 80-《红球姜》
  • 在实际开发中,如何正确使用 INT(1) 和 INT(10)
  • 动态规划学习
  • Rust语言的编程范式
  • 虚幻UE5手机安卓Android Studio开发设置2025
  • 996引擎-地图:动态创建副本地图
  • 音视频入门基础:RTP专题(7)——RTP协议简介
  • 第一篇:从技术架构视角解析DeepSeek的AI底层逻辑
  • 揭秘算法 课程导读
  • 复制粘贴小工具——Ditto
  • 【系统架构设计师】真题论文: 论微服务架构及其应用(包括解题思路和素材)
  • AI智慧社区--Excel表的导入导出
  • < 自用文儿 使用 acme 获取网站证书 > ACME 脚本 script: acme.sh 获得证书 觉得比 certbot 方便