123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- package com.bgy.autosale.payutil;
- import android.app.Activity;
- import android.content.Context;
- import android.graphics.Bitmap;
- import android.graphics.drawable.Drawable;
- import android.os.IBinder;
- import android.text.TextUtils;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.inputmethod.InputMethodManager;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.LinearLayout;
- import android.widget.RadioButton;
- import android.widget.RadioGroup;
- import android.widget.TextView;
- import com.bgy.autosale.R;
- import com.hboxs.base_library.constant.Name;
- import com.hboxs.base_library.listener.DialogClickListener;
- import com.hboxs.base_library.util.DrawableSelectorUtils;
- import com.hboxs.base_library.util.SharedPreferencesUtils;
- import com.hboxs.base_library.util.ToastUtil;
- import com.hboxs.base_library.util.UiUtil;
- import com.hboxs.base_library.widget.BaseDialog;
- import com.orhanobut.hawk.Hawk;
- /**
- * @author whw
- * @time 2019/3/13
- * @Description 一个输入框弹框
- */
- public class EtlDialog extends BaseDialog implements View.OnClickListener, RadioGroup.OnCheckedChangeListener {
- private String tips = UiUtil.getStringRes(R.string.glyid);
- private String machineType;
- public void setListener(DialogClickListener listener) {
- this.listener = listener;
- }
- private DialogClickListener listener;
- public EtlDialog(Context context, Activity activity) {
- super(context, activity);
- }
- @Override
- public void show() {
- super.show();
- }
- private Button btnApply;
- private RadioGroup rgMachineType;
- private RadioButton rb320,rb330;
- private LinearLayout llCodeImage;
- private TextView tvServerid;
- private EditText etServerId;
- @Override
- protected void initView() {
- btnApply=findViewById(R.id.btn_apply);
- btnApply.setOnClickListener(this);
- rgMachineType=findViewById(R.id.rg_machine_type);
- rgMachineType.setOnCheckedChangeListener(this);
- // Drawable drawableSelector = DrawableSelectorUtils.createDrawableSelector(mActivity);
- // btnApply.setBackground(drawableSelector);
- rb320=findViewById(R.id.rb_320);
- rb330=findViewById(R.id.rb_330);
- String model = Hawk.get(Name.MACHINE_TYPE, Name.SI320);
- if ("MG320".equals(model)) {
- rb320.setChecked(true);
- }else{
- rb330.setChecked(true);
- }
- // generateDeviceQRcode(model);
- int connectState = (int) SharedPreferencesUtils.getParam(Name.CONNECT_STATE, 999);
- llCodeImage=findViewById(R.id.ll_code_image);
- tvServerid=findViewById(R.id.tv_serverid);
- if (connectState==999) {
- llCodeImage.setVisibility(View.GONE);
- tvServerid.setVisibility(View.GONE);
- }
- etServerId=findViewById(R.id.et_server_id);
- }
- public void conceal(){
- rgMachineType.setVisibility(View.VISIBLE);
- }
- @Override
- protected int getLayout() {
- return R.layout.dialog_et;
- }
- @Override
- protected int getAnimType() {
- return ANIM_CENTER_IN_OUT;
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.btn_apply:
- Hawk.put(Name.MACHINE_TYPE,machineType);
- String trim = etServerId.getText().toString().trim();
- if (TextUtils.isEmpty(trim)) {
- ToastUtil.showToast(tips);
- return;
- }
- listener.onClickListener(R.id.btn_apply, trim);
- break;
- }
- dismiss();
- }
- @Override
- public void onCheckedChanged(RadioGroup group, int checkedId) {
- switch (checkedId) {
- case R.id.rb_320:
- machineType = "SI320";
- // generateDeviceQRcode("SI320");
- break;
- }
- }
- /**
- * 生成设备二维码方法
- */
- // public void generateDeviceQRcode(String model){
- // mCodeBitmap = ZXingUtils.createQRImage((FileUtil.getDeviceId1()+"+"+model+"+"+Heartbeat.clientId), 999, 999);
- // binding.codImage.setImageBitmap(mCodeBitmap);
- // }
- public Bitmap mCodeBitmap;
- @Override
- public boolean dispatchTouchEvent(MotionEvent ev) {
- if (ev.getAction() == MotionEvent.ACTION_DOWN) {
- View v = getCurrentFocus();
- if (isShouldHideKeyboard(v, ev)) {
- hideKeyboard(v.getWindowToken());
- }
- }
- return super.dispatchTouchEvent(ev);
- }
- /**
- * 根据EditText所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘,因为当用户点击EditText时则不能隐藏
- *
- * @param v
- * @param event
- * @return
- */
- private boolean isShouldHideKeyboard(View v, MotionEvent event) {
- if (v != null && (v instanceof EditText)) {
- int[] l = {0, 0};
- v.getLocationInWindow(l);
- int left = l[0],
- top = l[1],
- bottom = top + v.getHeight(),
- right = left + v.getWidth();
- if (event.getX() > left && event.getX() < right
- && event.getY() > top && event.getY() < bottom) {
- // 点击EditText的事件,忽略它。
- return false;
- } else {
- return true;
- }
- }
- // 如果焦点不是EditText则忽略,这个发生在视图刚绘制完,第一个焦点不在EditText上,和用户用轨迹球选择其他的焦点
- return false;
- }
- /**
- * 获取InputMethodManager,隐藏软键盘
- * @param token
- */
- private void hideKeyboard(IBinder token) {
- if (token != null) {
- InputMethodManager im = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
- im.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS);
- }
- }
- @Override
- public boolean onTouchEvent( MotionEvent event) {
- return super.onTouchEvent(event);
- }
- public void setRgMachineTypeVisi(int visiable){
- rgMachineType.setVisibility(visiable);
- }
- public void setLlCodeImageVisi(int visiable){
- llCodeImage.setVisibility(visiable);
- }
- public void setTvserveridText(String text){
- tvServerid.setText(text);
- }
- public void setEtServerId(String text){
- etServerId.setHint(text);
- }
- public void setTips(String tips) {
- this.tips = tips;
- }
- }
|