Commit e6d0a96e authored by 小费同学阿's avatar 小费同学阿 💬

基础搭建

功能开发
1:我的停车
parent 5a8c8cd3
package com.xx.hbhconsumer.dialog
import android.content.Context
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import com.xx.hbhconsumer.R
import com.xx.hbhconsumer.databinding.DialogCustomTextBinding
import com.xx.xxviewlibrary.base.xxBaseDialog
import com.xx.xxviewlibrary.comm.RefuseDialogBean
import me.jessyan.autosize.utils.AutoSizeUtils
class CustomDialog(context: Context, var bean: RefuseDialogBean, var callback: onAcceptCallBack) :
xxBaseDialog<DialogCustomTextBinding>(context) {
var dismissBack: Boolean = true;
override fun InitView(): DialogSet {
return DialogSet(
R.layout.dialog_custom_text,
false,
Gravity.CENTER_HORIZONTAL or Gravity.CENTER_VERTICAL,
true,
AutoSizeUtils.dp2px(context, 320.0F),
WindowManager.LayoutParams.WRAP_CONTENT
)
}
override fun InitData() {
binding.model = bean
binding.dialog=this;
/*关闭弹窗监听事件,使其手机返回上一级功能和取消功能一致*/
setOnDismissListener {
if (dismissBack) {
/*调用取消功能*/
callback.refuseBack()
}
}
/* if (TextUtils.isEmpty(bean.refuseTxt))
{
binding.btnRefuse.visibility=View.GONE
}*/
}
fun refuseClick(view: View) {
callback.refuseBack()
dismissBack = false
dismiss()
}
fun acceptClick(view: View) {
callback.acceptBack()
dismissBack = false
dismiss()
}
interface onAcceptCallBack {
fun acceptBack()
fun refuseBack()
}
}
......@@ -4,6 +4,7 @@ import android.content.Context
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import android.widget.Toast
import com.xx.hbhconsumer.R
import com.xx.hbhconsumer.databinding.DialogMyParkNumberListBinding
import com.xx.hbhconsumer.dialog.adapter.MyParkListAdapter
......@@ -29,10 +30,17 @@ class MyParkDialog(context:Context, val list:List<TextListProvider>): xxBaseDial
fun typeClickDialog(view: View) {
if (DialogClickListener != null) {
DialogClickListener.dialogClickBack(view.id, adpter.getBuuthBusinessId())
val selectedPosition = adpter.getBuuthBusinessId()
if (selectedPosition != null) {
// 已经选中了某一项,执行相应的操作
if (DialogClickListener != null) {
DialogClickListener.dialogClickBack(view.id, adpter.getBuuthBusinessId())
}
dismiss()
} else {
// 没有选中任何项,提示用户
Toast.makeText(context, "请选择一项", Toast.LENGTH_SHORT).show()
}
dismiss()
}
......
package com.xx.hbhconsumer.ui.park;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
......@@ -18,9 +16,8 @@ import com.xx.hbhconsumer.R;
import com.xx.hbhconsumer.data.http.requst.ParkRequest;
import com.xx.hbhconsumer.data.http.respons.ParkBean;
import com.xx.hbhconsumer.databinding.ActivityMessageCenterBinding;
import com.xx.hbhconsumer.dialog.CustomDialog;
import com.xx.hbhconsumer.dialog.adapter.ParkAdapter;
import com.xx.hbhconsumer.ui.login.LoginActivity;
import com.xx.xxviewlibrary.comm.CommTextDialog;
import com.xx.xxviewlibrary.comm.RefuseDialogBean;
import java.util.List;
......@@ -73,6 +70,7 @@ public class MyParkActivity extends BaseActivity<ActivityMessageCenterBinding, M
zanwu_icon.setVisibility(View.GONE);
zanwu_zi.setVisibility(View.GONE);
} else {
deFlag = "1";
zanwu_icon.setVisibility(View.VISIBLE);
zanwu_zi.setVisibility(View.VISIBLE);
......@@ -84,15 +82,15 @@ public class MyParkActivity extends BaseActivity<ActivityMessageCenterBinding, M
@Override
public void onItemLongClick(View view, int position, ParkBean parkBean) {
// 去调删除接口
showCommTextDialog(new RefuseDialogBean("是否删除"+parkBean.getPlateNumber()+"该车牌号?", "确定", "取消"), new CommTextDialog.onAcceptCallBack() {
showCustomDialog(new RefuseDialogBean("是否删除" + parkBean.getPlateNumber() + "该车牌号?", "确定", "取消"), new CustomDialog.onAcceptCallBack() {
@Override
public void acceptBack() {
viewModel.deletePark(parkBean.getBusinessId());
myParkViewModel.deletePark(parkBean.getBusinessId());
}
@Override
public void refuseBack() {
// 取消操作不做任何处理
}
});
......@@ -100,7 +98,29 @@ public class MyParkActivity extends BaseActivity<ActivityMessageCenterBinding, M
});
}
// 新增方法:用于显示 CustomDialog
private void showCustomDialog(RefuseDialogBean bean, CustomDialog.onAcceptCallBack callback) {
CustomDialog customDialog = new CustomDialog(this, bean, callback);
customDialog.show();
// 获取弹窗的 Window 对象
android.app.Dialog dialog = customDialog;
if (dialog != null) {
android.view.Window window = dialog.getWindow();
if (window != null) {
// 设置弹窗的 Gravity,例如居中
window.setGravity(android.view.Gravity.CENTER);
// 获取当前的 Window 参数
android.view.WindowManager.LayoutParams layoutParams = window.getAttributes();
// 调整弹窗的 Y 偏移量(向上抬)
layoutParams.y = -85; // 这里的值可以根据需要调整,负值表示向上移动
// 应用新的布局参数
window.setAttributes(layoutParams);
}
}
}
@Override
public int initVariableId() {
return BR.myParkViewModel;
......
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:binding="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:background="@drawable/bg_white_radius_12">
<TextView
android:id="@+id/dialog_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="48dp"
android:layout_marginBottom="47dp"
android:text="是否确定删除?"
android:textSize="16sp"
android:textColor="#FF333333"/>
<View
android:id="@+id/view_divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/dialog_message"
android:background="@color/bg_grey"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_below="@id/view_divider">
<TextView
android:id="@+id/dialog_negative_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:text="取消"
android:textSize="16sp"
android:textColor="#FF333333"/>
<TextView
android:id="@+id/dialog_positive_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:text="确定"
android:textSize="16sp"
android:textColor="#FF5971A4"/>
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="model"
type="com.xx.xxviewlibrary.comm.RefuseDialogBean" />
<variable
name="dialog"
type="com.xx.hbhconsumer.dialog.CustomDialog" />
<import type="android.view.View" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:background="@drawable/bg_white_radius_12"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/tv_dct_content"
android:textColor="@color/black"
android:layout_marginTop="50dp"
android:text="@{model.main}"
android:layout_marginLeft="26dp"
android:layout_marginRight="26dp"
android:layout_marginBottom="50dp"
android:textSize="16sp"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/line_grey"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:orientation="horizontal">
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:id="@+id/btn_refuse"
android:background="#00000000"
android:onClick="@{dialog.refuseClick}"
android:visibility="@{model.refuseTxt==null? View.GONE : View.VISIBLE}"
android:textSize="16sp"
android:text="@{model.refuseTxt.toString()}"
android:textColor="@color/text_grey"/>
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="@{dialog.acceptClick}"
android:background="#00000000"
android:textSize="16sp"
android:text="@{model.sureTxt.toString()}"
android:visibility="@{model.sureTxt==null? View.GONE : View.VISIBLE}"
android:textColor="@color/text_foreground"/>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment