一、实现效果图
二、代码
1、bottom_popwindoow.xml中的代码
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/btn_01" android:onClick="btn_01" android:layout_height="55dp" android:layout_width="match_parent" android:textAlignment="textStart" style="?android:attr/borderlessButtonStyle" android:text=" 从相册选择"/> <LinearLayout android:layout_width="match_parent" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_height="1dp" android:background="#F4F2F2" > </LinearLayout> <Button android:id="@+id/btn_02" android:layout_height="55dp" android:layout_width="match_parent" android:textAlignment="textStart" style="?android:attr/borderlessButtonStyle" android:text=" 拍照"/> <LinearLayout android:layout_width="match_parent" android:layout_height="4dp" android:background="#F8F5F5" > </LinearLayout> <Button android:id="@+id/btn_03" android:layout_height="55dp" android:layout_width="match_parent" style="?android:attr/borderlessButtonStyle" android:text="取消"/> </LinearLayout>
2、在MainActivity.java中的代码
package com.guozijun.bottomsheet; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.Toast; import com.google.android.material.bottomsheet.BottomSheetDialog; public class MainActivity extends AppCompatActivity { private View bottom_popwindoow; private BottomSheetDialog mBottomSheetDialog; private Button btn; private Button btn_01; private Button btn_02; private Button btn_03; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bottom_popwindoow = LayoutInflater.from(this).inflate(R.layout.bottom_popwindoow, null); mBottomSheetDialog = new BottomSheetDialog(this); mBottomSheetDialog.setContentView(bottom_popwindoow); //show按钮 btn = findViewById(R.id.mainButton1); btn.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View p1) { mBottomSheetDialog.show(); } }); //从相册中选择按钮 btn_01 = mBottomSheetDialog.findViewById(R.id.btn_01); btn_01.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View p1) { Toast.makeText(MainActivity.this, "从相册选择", Toast.LENGTH_SHORT).show(); } }); //拍照按钮 btn_02 = mBottomSheetDialog.findViewById(R.id.btn_02); btn_02.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View p1) { Toast.makeText(MainActivity.this, "拍照", Toast.LENGTH_SHORT).show(); } }); //取消按钮 btn_03 = mBottomSheetDialog.findViewById(R.id.btn_03); btn_03.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View p1) { mBottomSheetDialog.dismiss(); } }); } }