📜  Kotlin中的CheckedTextView

📅  最后修改于: 2021-05-10 16:23:38             🧑  作者: Mango

CheckedTextView用于实现可检查的界面,在其中可以勾选或检查所需或必需的项目,而忽略其余的项目。在本文中,我们将讨论如何手动制作CheckedTextView。

第一步是在Android Studio中创建或创建一个项目。在这里,我们将创建一个名为CheckedTextViewInKotlin的项目。

要创建一个新项目:

  1. 单击文件,然后单击新建=>新建项目
  2. 然后,选中“包括Kotlin支持”,然后单击“下一步”按钮。
  3. 选择最低的SDK,无论您需要什么。
  4. 选择清空活动,然后单击完成

CheckedTextView的不同属性:

Attributes Description
android:id Gives a unique ID to the Textview.
android:gravity We can align text of the Textview vertically or horizontally or both.
android:height Used to set height of the Textview.
android:width Sets width of the TextView.
android:padding Used to set padding.
android:checkMark Used to set the drawable for checkmark.
android:checkMarkTint Used to set tint to the check mark.
android:checkMarkTintMode Blending mode used to apply the check mark tint.
android:checked Used to set the initial checked state of the checkedTextView which is false by default.

修改activity_main.xml文件

在此文件中,我们将添加CheckedTextView并使用不同的属性(例如,checked,gravity等)。稍后,将在Kotlin文件中调用它以添加更多功能。



  
    
  

对字符串.xml文件(例如app_name)和Kotlin文件中使用的其他字符串一些更改。


    CheckedTextViewInKotlin
    CTView is:
    checked
    unchecked
    CheckedTextView

MainActivity.kt文件

在这里,我们首先声明一个checkedTextView变量,并使用id查找xmlcheckedTextView。

val CTView = findViewById(R.id.ctv)

然后,使用条件语句进行检查,例如

if (CTView.isChecked)
    android.R.drawable.checkbox_on_background
else
    android.R.drawable.checkbox_off_background)

最后,当检查文本视图时,我们声明一个变量msg以打印该值。

package com.geeksforgeeks.myfirstkotlinapp
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.CheckedTextView
import android.widget.Toast
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        val CTView = findViewById(R.id.ctv)
        if (CTView != null) {
            CTView.isChecked = false
            CTView.setCheckMarkDrawable(
                android.R.drawable.checkbox_off_background)
  
            CTView.setOnClickListener {
                CTView.isChecked = !CTView.isChecked
                CTView.setCheckMarkDrawable(
                    if (CTView.isChecked)
                        android.R.drawable.checkbox_on_background
                    else
                        android.R.drawable.checkbox_off_background)
  
                val msg = getString(R.string.msg_shown)+ " " +
                        getString(if (CTView.isChecked)
                            R.string.checked else R.string.unchecked)
                Toast.makeText(this@MainActivity, msg,
                    Toast.LENGTH_SHORT).show()
            }
        }
    }
}

AndroidManifest.xml文件

该文件包含在字符串.xml中指定的诸如app_name之类的信息以及其他重要的android信息。



  

    
        
            
  
            
        
    

  

作为模拟器运行:

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!