Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何更改TextView的drawableEnd属性_Android_Kotlin - Fatal编程技术网

Android 如何更改TextView的drawableEnd属性

Android 如何更改TextView的drawableEnd属性,android,kotlin,Android,Kotlin,我有一个Textview,我从xml文件中设置了属性drawableRight,现在我想通过编程更改drawable。 我想当点击时,可绘制的图标/图像应该从btn_上升到btn_下降 以下是我迄今为止所做的尝试: 类别: xml: 我如何解决这个问题?提前谢谢。试试看 var isClicked = false // declare this at top requireText.setOnClickListener{ requireText.setC

我有一个Textview,我从xml文件中设置了属性drawableRight,现在我想通过编程更改drawable。 我想当点击时,可绘制的图标/图像应该从btn_上升到btn_下降

以下是我迄今为止所做的尝试:

类别:

xml:


我如何解决这个问题?提前谢谢。

试试看

var isClicked = false // declare this at top               
requireText.setOnClickListener{

   requireText.setCompoundDrawablesWithIntrinsicBounds(0, 0, 
   if(!isClicked) R.drawable.btn_up else R.drawable.btn_down, 0)
   isClicked = !isClicked
 }
试一试

没有
.drawableRight
或Left,目前还没有,您可以尝试以下代码:

您希望在单击时切换可绘制图形的更新

没有
.drawableRight
或Left,目前还没有,您可以尝试以下代码:

您希望在单击时切换可绘制图形的更新


尝试此代码在kotlin类中设置drawable right

 val my_text_view = findViewById(R.id.my_text_view)
        my_text_view.setOnClickListener(View.OnClickListener { my_text_view.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_arrow_upward_black_24dp, 0) })

尝试此代码在kotlin类中设置drawable right

 val my_text_view = findViewById(R.id.my_text_view)
        my_text_view.setOnClickListener(View.OnClickListener { my_text_view.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_arrow_upward_black_24dp, 0) })

但当我再次单击Textview时,我希望btn向上更改btn向下。我该怎么做呢?但当我再次单击文本视图时,我希望btn向上更改btn向下。我该怎么做?谢谢你的回答!!它可以很好地使用。很高兴知道,请注意,如果像@Xuzan这样的语句写得不对,但这是一种不好的做法,您的代码通常不容易阅读,Xuzan,请注意,简单是编写代码的最佳方式,我学到了这一点。感谢您的回答!!它可以很好地使用。很高兴知道,请注意,如果像@Xuzan这样的语句写得不对,但这是一种不好的做法,您的代码通常不容易阅读,Xuzan,请注意,简单是编写代码的最佳方式,我学到了这一点。
   class SampleActivity : AppCompatActivity() {

    var up = true
    var drawable: Drawable ?=null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_signup)

        userName.setOnClickListener {
            if(up){
                up = false
                drawable = resources.getDrawable(com.exolve.eros.R.drawable.sampleDownDrawable)
            }else{
                up = true
                drawable = resources.getDrawable(com.exolve.eros.R.drawable.sampleUpDrawable)
            }

            drawable!!.setBounds(0, 0, 10, 10)
            userName.setCompoundDrawables(drawable, null, null, null)
        }
    }
}
 val my_text_view = findViewById(R.id.my_text_view)
        my_text_view.setOnClickListener(View.OnClickListener { my_text_view.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_arrow_upward_black_24dp, 0) })