充电桩app代码

LockStatusDialog.java 5.8KB

    package com.electric.chargingpile.view; import android.Manifest; import android.app.Dialog; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.text.Html; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.ScreenUtils; import com.electric.chargingpile.R; import com.electric.chargingpile.activity.ZhanDetailsNew; import com.electric.chargingpile.adapter.LockAdapter; import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import org.jetbrains.annotations.NotNull; import pub.devrel.easypermissions.AfterPermissionGranted; import pub.devrel.easypermissions.EasyPermissions; import static android.text.Html.FROM_HTML_MODE_LEGACY; public class LockStatusDialog extends BottomSheetDialogFragment { private String licensePlate = ""; private String telNum = "10086"; private View.OnClickListener onClickListener; private static final int RC_TELL_PERM = 124; public void setOnClickListener(View.OnClickListener onClickListener) { this.onClickListener = onClickListener; } public String getLicensePlate() { return licensePlate; } public void setLicensePlate(String licensePlate) { this.licensePlate = licensePlate; } public static LockStatusDialog newInstart(){ return new LockStatusDialog(); } @Override public void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStyle(DialogFragment.STYLE_NORMAL, R.style.TransparentVideoDialogFragmentTheme); } @Override public void onStart() { super.onStart(); Dialog dialog = getDialog(); if (dialog!=null){ View bottomSheet = dialog.findViewById(com.google.android.material.R.id.design_bottom_sheet); if (bottomSheet!=null){ ViewGroup.LayoutParams newLayoutParams = bottomSheet.getLayoutParams(); int height = (int) (ScreenUtils.getScreenHeight() * 0.54); newLayoutParams.height = height; BottomSheetBehavior<View> behavior = BottomSheetBehavior.from(bottomSheet); if (behavior!=null){ behavior.setPeekHeight(height); behavior.setState(BottomSheetBehavior.STATE_EXPANDED); } } } } @Nullable @org.jetbrains.annotations.Nullable @Override public View onCreateView(@NonNull @NotNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) { return LayoutInflater.from(requireContext()).inflate(R.layout.dialog_lock_status, container, false); } @Override public void onViewCreated(@NonNull @NotNull View view, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); RecyclerView recyclerView = view.findViewById(R.id.recyclerView); TextView tvRefresh = view.findViewById(R.id.tvRefresh); TextView tvContact = view.findViewById(R.id.tvContact); TextView tvNum = view.findViewById(R.id.tvNum); recyclerView.setLayoutManager( new GridLayoutManager(requireContext(),5)); recyclerView.setAdapter(new LockAdapter(requireContext())); tvNum.setText(Html.fromHtml("空 <font color='#333333'>"+6+"/</font> <font color='#A5A5A5'>"+2+"</font>",FROM_HTML_MODE_LEGACY)); tvContact.setOnClickListener(v->{ //拨打电话 tellTask(); }); tvRefresh.setOnClickListener(v->{ //刷新接口 }); } @AfterPermissionGranted(RC_TELL_PERM) public void tellTask() { if (hasTellPermission()) { Intent intent = new Intent(); intent.setAction("android.intent.action.CALL"); intent.addCategory("android.intent.category.DEFAULT"); intent.setData(Uri.parse("tel:" + telNum)); startActivity(intent); } else { // Ask for one permission EasyPermissions.requestPermissions( this, "该功能需要开启拨号权限,是否前往开启?", RC_TELL_PERM, Manifest.permission.CALL_PHONE); } } private boolean hasTellPermission() { return EasyPermissions.hasPermissions(requireContext(), Manifest.permission.CALL_PHONE); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull @NotNull String[] permissions, @NonNull @NotNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this); } public void show(FragmentManager fragmentManager){ FragmentTransaction ft = fragmentManager.beginTransaction(); Fragment prev = fragmentManager.findFragmentByTag(LockStatusDialog.class.getName()); if (prev != null) { ft.remove(prev); } show(fragmentManager,LockStatusDialog.class.getName()); fragmentManager.executePendingTransactions(); } }