动态android按钮样式

时间:2017-08-22 20:18:53

标签: android button

我想根据输入的整数值为Android按钮动态提供一些样式。例如,如果用户输入25,我的按钮形状将变为"四分之一的圆圈" 。如下图。 quarter of a circle image

我尝试使用

GradientDrawable shape=new GradientDrawable();
shape.setShape(GradientDrawable.OVAL);

但是我找不到有用的方法来制作quarter of Oval

换句话说,我想点击pieChart 不要向我提供github.io个图书馆。

请阅读本说明。  1.我知道如何使用<selector>元素并根据该状态更改按钮样式。  2.我知道如何使用<shape> drawable资源。但是我需要根据用户输入的值来改变形状。

1 个答案:

答案 0 :(得分:0)

我假设您的意思是编辑文本视图,因为您无法在其上输入文本。您可以以编程方式执行此操作。您需要使用按钮实例作为参考,并在编辑文本视图中添加TextWatcher并在其中添加if语句。

使用以下作为示例:

Button button = findViewById(R.id.<id of button>);
EditText editText = findViewById(R.id.<id of edit text view>);
editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i,int i1, int i2) {}

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                if(charSequence.equals("25")){
                    button.setBackgroundResource(R.drawable.<id of custom button>);
                }
            }

            @Override
            public void afterTextChanged(Editable editable) {}
        });