Android(安卓)仿小米优品单行输入Dialog
16lz
2021-12-04
效果图如下:
一.InputDialog.java
package cn.xuanma.frame.base;import android.app.Activity;import android.app.Dialog;import android.content.Context;import android.support.v7.widget.AppCompatEditText;import android.support.v7.widget.AppCompatTextView;import android.util.DisplayMetrics;import android.view.Gravity;import android.view.View;import android.view.Window;import android.view.WindowManager;import android.view.inputmethod.InputMethodManager;import cn.xuanma.frame.R;@SuppressWarnings("ALL")public class InputDialog { private Dialog dialog; private Context context; private AppCompatTextView titleTextView; private AppCompatTextView cancelTextView; private AppCompatTextView confirmTextView; private AppCompatEditText contentEditText; public InputDialog(Context context, String title, String content) { this.context = context; init(title, content); } public InputDialog(Context context, int title, String content) { this.context = context; init(context.getString(title), content); } public InputDialog(Context context, String title, int content) { this.context = context; init(title, context.getString(content)); } public InputDialog(Context context, int title, int content) { this.context = context; init(context.getString(title), context.getString(content)); } public void setCancelListerner(View.OnClickListener listerner) { cancelTextView.setOnClickListener(listerner); } public void setConfirmListerner(View.OnClickListener listerner) { confirmTextView.setOnClickListener(listerner); } public String getTitle() { return titleTextView.getText().toString(); } public void setTitle(String title) { titleTextView.setText(title); } public String getContent() { return contentEditText.getText().toString(); } public void setContent(String content) { contentEditText.setText(content); } public void dismiss() { dialog.dismiss(); } private void init(String title, String content) { this.dialog = new Dialog(context); dialog.setContentView(R.layout.dialog_input); dialog.getWindow().getDecorView().setPadding(0, 0, 0, 0); Window window = dialog.getWindow(); DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); WindowManager.LayoutParams layoutParams = window.getAttributes(); dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); window.setGravity(Gravity.CENTER | Gravity.BOTTOM); layoutParams.width = (int) (displayMetrics.widthPixels * 1); window.setAttributes(layoutParams); titleTextView = dialog.findViewById(R.id.titleTextView); contentEditText = dialog.findViewById(R.id.contentEditText); cancelTextView = dialog.findViewById(R.id.cancelTextView); confirmTextView = dialog.findViewById(R.id.confirmTextView); titleTextView.setText(title); contentEditText.setText(content); contentEditText.setSelection(content.length()); contentEditText.post(new Runnable() { @Override public void run() { InputMethodManager inputMethodManager = (InputMethodManager) ((Activity) context).getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); } }); } public void show() { dialog.show(); }}
二.dialog.input.xml
<?xml version="1.0" encoding="utf-8"?>
三.border_dialog_edit.xml
<?xml version="1.0" encoding="utf-8"?>
四.border_dialog_input.xml
<?xml version="1.0" encoding="utf-8"?>
五.border_dialog_text_left.xml
<?xml version="1.0" encoding="utf-8"?>
六.border_dialog_text_right.xml
<?xml version="1.0" encoding="utf-8"?>
更多相关文章
- Android仿iPhone的日期时间选择器
- android:shape
- android之activity间传输数据
- android中设置分割线
- Android(安卓)Dialog对话框
- Android——如何将整个界面变成列表 — ScrollView
- android实现蘑菇街购物车动画效果
- Android(安卓)带固定图片的EditText
- Android体验系列之--AnalogClock控件