1 Star 1 Fork 2

尽管i阿娇 / UniPlugin-Hello-AS

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

原生android端editText控件,用于在nvue页面使用 使用方法 <editText ref="edit1" textSize="16" textColor="#1680ea" @afterTextChanged="afterTextChanged" hint="請掃碼" hintTextColor="#D9001B">

支持的参数有textSize(输入框字号),textColor(输入框文字颜色)hint(描述文案) hintTextColor(描述文案颜色)

组件本身支持设置class,style,字号和颜色只能通过预定的参数设置 回调方法: @beforeTextChanged 内容变化前 @onTextChanged 内容发送变化 @afterTextChanged 内容变化后 返回值 {detail:{text:'111'}} 方法: 通过ref调用组件方法 focus(获得焦点) blur(失去焦点) showKeyboard(显示键盘) hideKeyboard(隐藏键盘) setText(修改值)

package io.dcloud.uniplugin;

import android.content.Context;
import android.graphics.Color;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;

import androidx.annotation.NonNull;

import java.util.HashMap;
import java.util.Map;

import io.dcloud.feature.uniapp.UniSDKInstance;
import io.dcloud.feature.uniapp.annotation.UniJSMethod;
import io.dcloud.feature.uniapp.ui.action.AbsComponentData;
import io.dcloud.feature.uniapp.ui.component.AbsVContainer;
import io.dcloud.feature.uniapp.ui.component.UniComponent;
import io.dcloud.feature.uniapp.ui.component.UniComponentProp;

public class T11EditText extends UniComponent<EditText> {

    public T11EditText(UniSDKInstance instance, AbsVContainer parent, AbsComponentData basicComponentData) {
        super(instance, parent, basicComponentData);
    }

    @Override
    protected EditText initComponentHostView(Context context) {
        EditText editText = new EditText(context);
        editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                cellJsEvent("beforeTextChanged", charSequence.toString());
            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                cellJsEvent("onTextChanged", charSequence.toString());
            }

            @Override
            public void afterTextChanged(Editable editable) {
                cellJsEvent("afterTextChanged", editable.toString());
            }
        });
        return editText;
    }

    private void cellJsEvent(String name,String text){
        Map<String, Object> params = new HashMap<>();
        Map<String, Object> number = new HashMap<>();
        number.put("text", text);
        //目前uni限制 参数需要放入到"detail"中 否则会被清理
        params.put("detail", number);
        fireEvent(name, params);
    }

    @UniComponentProp(name = "textSize")
    public void setSize(String size){
        if(size != null && !size.equals("")){
            getHostView().setTextSize(Integer.valueOf(size));
        }

    }
    @UniComponentProp(name = "textColor")
    public void setTextColor(String color){
        if(color != null && !color.equals("")){
            getHostView().setTextColor(Color.parseColor(color));
        }

    }
    @UniComponentProp(name = "hint")
    public void setHint(String hint){
        getHostView().setHint(hint);
    }
    @UniComponentProp(name = "hintTextColor")
    public void setHintTextColor(String color){
        getHostView().setHintTextColor(Color.parseColor(color));
    }


    @UniJSMethod
    public void setText(String text){
        getHostView().setText(text);
        getHostView().setSelection(getHostView().getText().length());
    }

    @UniJSMethod
    public void focus(){
        getHostView().requestFocus();
        getHostView().setSelection(getHostView().getText().length());
    }

    @UniJSMethod
    public void blur(){
        getHostView().clearFocus();
        hideKeyboard();
    }

    @UniJSMethod
    public void showKeyboard(){
        InputMethodManager imm = (InputMethodManager) mUniSDKInstance.getContext()
                .getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.showSoftInput(getHostView(), 0);
    }

    @UniJSMethod
    public void hideKeyboard(){
        InputMethodManager imm = (InputMethodManager) mUniSDKInstance.getContext()
                .getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(getHostView().getWindowToken(), 0);
    }



}

空文件

简介

暂无描述 展开 收起
Java 等 6 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/bojue_613/uni-plugin-hello-as.git
git@gitee.com:bojue_613/uni-plugin-hello-as.git
bojue_613
uni-plugin-hello-as
UniPlugin-Hello-AS
master

搜索帮助