package com.rehome.meetingbook.weiget; /** * Create By HuangWenFei * 创建日期:2022-12-09 15:10 * 描述: */ import android.content.Context; import android.content.res.TypedArray; import androidx.annotation.Nullable; import android.graphics.Color; import android.text.Html; import android.text.InputType; import android.util.AttributeSet; import android.view.KeyEvent; import android.view.View; import android.widget.ImageButton; import android.widget.TextView; import com.rehome.meetingbook.R; import com.zhy.autolayout.AutoLinearLayout; import com.zhy.autolayout.utils.AutoUtils; /** * Created by Rehome-rjb1 on 2017/5/9. *

* 输入框 * * * * * * * * * */ public class InputLayout extends AutoLinearLayout { TextView tvTitle; ClearEditText etContent; TextView tvContent; NumAddSubView numAddSubView; ImageButton ibtnSelect; private View view; public InputLayout(Context context) { super(context, null); initView(); } public InputLayout(Context context, @Nullable AttributeSet attrs) { super(context, attrs); initView(); if (attrs != null) { TypedArray type = context.obtainStyledAttributes(attrs, R.styleable.InputLayout); String title = type.getString(R.styleable.InputLayout_tv_title); Boolean isShowSelect = type.getBoolean(R.styleable.InputLayout_isShowSelect, false); Boolean isShowTextView = type.getBoolean(R.styleable.InputLayout_isShowTextView, false); Boolean isShowNumSubView = type.getBoolean(R.styleable.InputLayout_isShowNumSubView, false); String hintText = type.getString(R.styleable.InputLayout_hintText); Boolean must = type.getBoolean(R.styleable.InputLayout_must, false); int minValue = type.getInt(R.styleable.InputLayout_minValue, 1); numAddSubView.setMinNum(minValue); setHintText(hintText); setTvTitle(title, must); isShowIbtnSelect(isShowSelect); isShowTextView(isShowTextView); isShowNumSubView(isShowNumSubView); type.recycle(); } } public InputLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(); } public void setTitleColor(){ tvTitle.setTextColor(Color.parseColor("#737373")); } private void initView() { if (view == null) { view = View.inflate(getContext(), R.layout.layout_input, this); AutoUtils.auto(view); tvTitle = view.findViewById(R.id.tv_title); etContent = view.findViewById(R.id.et_content); tvContent = view.findViewById(R.id.tv_content); numAddSubView = view.findViewById(R.id.numAddSubView); ibtnSelect = view.findViewById(R.id.ibtn_select); } etContent.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (event != null) { return (event.getKeyCode() == KeyEvent.KEYCODE_ENTER); } else { return false; } } }); } public void setTvTitle(String title, boolean must) { if (must) { String mustTitle = title + "*"; tvTitle.setText(Html.fromHtml(mustTitle + ":")); } else { tvTitle.setText(title + ":"); } } public void isShowIbtnSelect(boolean isShow) { ibtnSelect.setVisibility(isShow ? VISIBLE : GONE); } public void isShowTextView(boolean isShow) { if (isShow) { tvContent.setVisibility(VISIBLE); etContent.setVisibility(GONE); } } public void isShowNumSubView(boolean isShow) { numAddSubView.setVisibility(isShow ? VISIBLE : GONE); } /** * 设置选择控件的点击事件 * * @param listener */ public void setIbtnSelectOnClickListener(OnClickListener listener) { ibtnSelect.setOnClickListener(listener); } /** * 设置文本框点击事件 * * @param listener */ public void setTvContentOnClickListener(OnClickListener listener) { tvContent.setOnClickListener(listener); } /** * 设置文本内容 * * @param content */ public void setContent(String content) { if (tvContent.getVisibility() == VISIBLE) { tvContent.setText(content); } else { etContent.setText(content); } } public void setHintText(String hintText) { tvContent.setHint(hintText); } /** * 获取文本内容 * * @return */ public String getContent() { String content; if (tvContent.getVisibility() == VISIBLE) { content = tvContent.getText().toString(); } else { content = etContent.getText().toString(); } return content; } /** * 设置为+号的按钮 */ public void setIbtnSelectIcon() { ibtnSelect.setImageResource(R.drawable.add_gray); } /** * 获取加减控件的值 * * @return */ public String getNum() { return numAddSubView.getNum(); } public void setNum(String num) { numAddSubView.setNum(num); } /** * 设置不可编辑 * * @param enabled */ @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); // etContent.setVisibility(VISIBLE); // tvContent.setVisibility(VISIBLE); etContent.setEnabled(enabled); tvContent.setEnabled(enabled); ibtnSelect.setEnabled(enabled); numAddSubView.setEnabled(enabled); } /** * 设置为数字类型的InputType */ public void setEtNumInputType() { etContent.setInputType(InputType.TYPE_CLASS_NUMBER); } /** * 设置为数字类型的InputType 可加小数点 */ public void setNo() { etContent.setInputType(InputType.TYPE_CLASS_PHONE); } }