如果在 Kotlin 中未选择项目,如何更改文本视图的重力?

Posted

技术标签:

【中文标题】如果在 Kotlin 中未选择项目,如何更改文本视图的重力?【英文标题】:How to change gravity of a textview if the item isn't selected in Kotlin? 【发布时间】:2021-10-23 11:38:38 【问题描述】:

我有函数onClick() 来处理选定的项目并在未选定的情况下将更改应用于其他项目。但我对重力有疑问。

这是函数:

@SuppressLint("NewApi", "ResourceAsColor")
override fun onClick(view: View) 
    if(view.id == R.id.item1) 
        item1.setTextColor(R.color.maincolor_purple)
        item1.background = ContextCompat.getDrawable(
            requireContext(),
            R.drawable.tab_bg_selected
        )
        item2.background = ContextCompat.getDrawable(
            requireContext(),
            R.drawable.tab_bg_unselected
        )
        item3.background = ContextCompat.getDrawable(
            requireContext(),
            R.drawable.tab_bg_unselected
        )
        item1.elevation = 3F
        item2.elevation = 2F
        item3.elevation = 1F
        item2.setTextColor(def);
        item3.setTextColor(def);
        viewPager2.setCurrentItem(0)
     
    else if (view.id == R.id.item2) 
        item1.setTextColor(def)
        item1.background = ContextCompat.getDrawable(
            requireContext(),
            R.drawable.tab_bg_unselected
        )
        item2.background = ContextCompat.getDrawable(
            requireContext(),
            R.drawable.tab_bg_selected
        )
        item3.background = ContextCompat.getDrawable(
            requireContext(),
            R.drawable.tab_bg_unselected
        )
        item2.setTextColor(R.color.maincolor_purple)

        item1.elevation = 1F
        item2.elevation = 3F
        item3.elevation = 2F
        item3.setTextColor(def)
        val size = item2.width
        viewPager2.setCurrentItem(1)
    
    else if (view.id == R.id.item3) 
        item1.setTextColor(def)
        item1.background = ContextCompat.getDrawable(
            requireContext(),
            R.drawable.tab_bg_unselected
        )
        item2.background = ContextCompat.getDrawable(
            requireContext(),
            R.drawable.tab_bg_unselected
        )
        item3.background = ContextCompat.getDrawable(
            requireContext(),
            R.drawable.tab_bg_selected
        )
        item3.setTextColor(R.color.maincolor_purple)
        item1.elevation = 1F
        item2.elevation = 2F
        item3.elevation = 3F
        item2.setTextColor(def)
        val size = item2.width * 2
        viewPager2.setCurrentItem(2)
    

因此,如果选择了这 3 个中的任何一个,并且我想将其他应用应用于左重力。

我尝试添加这个:

item1.gravity = left

但是没有用。

实现这一目标的正确方法是什么?

【问题讨论】:

【参考方案1】:

解决方案:

item.gravity = Gravity.RIGHT;

【讨论】:

以上是关于如果在 Kotlin 中未选择项目,如何更改文本视图的重力?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 android studio 中的 listview 项目点击更改活动图像和文本? java 或 kotlin

在 Kotlin MultiPlatform 项目中未解决 iOS 依赖项

如何更改标签栏中未选中项目的颜色?

java - 如何获取Java Swing列表中未选择的右键单击项目?

从自动完成下拉列表中未选择任何选项时如何清除 mat- 自动完成

如何在android Studio中更改Kotlin android项目的名称[重复]