Checkbox android studio kotlin

Create Checkbox in Kotlin Programmatically

In this short Kotlin programming tutorial I am going to share with you how to create a CheckBox in Kotlin programmatically. You will learn how to create two checkboxes and how to read a value from CheckBox when it is selected. The code example below with cover:

  • Create CheckBox in Kotlin programmatically,
  • Use setOnClickListener to know when check state of CheckBox has changed,
  • Read the value of CheckBox and display it in TextView

XML Layout File

CheckBox Example in Kotlin

In the code example below we will create two CheckBox(s) and will add then to our LinearLayout. We will check setOnClickListener on each CheckBox and will call the updateTextView() function when the OnClickListener event fires. Inside the updateTextView() function we will read the state value of each CheckBox and will print it out.

import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.support.constraint.ConstraintLayout import android.view.View import android.widget.CheckBox import android.widget.LinearLayout import android.widget.TextView import android.widget.Toast class CheckBoxExample : AppCompatActivity() < override fun onCreate(savedInstanceState: Bundle?) < super.onCreate(savedInstanceState) setContentView(R.layout.activity_check_box_example) val linearLayout = findViewById(R.id.constraintLayout) as LinearLayout val checkBox1 = CheckBox(this) checkBox1.text = "First CheckBox" checkBox1.isChecked = true val checkBox2 = CheckBox(this) checkBox2.text = "Second Checkbox" checkBox2.isChecked = false val textView = TextView(this) fun updateTextView() < textView.text = "checkBox1 is " + checkBox1.isChecked + " and checkBox2 is " + checkBox2.isChecked >updateTextView() checkBox1.setOnClickListener( View.OnClickListener < updateTextView() >) checkBox2.setOnClickListener( View.OnClickListener < updateTextView() >) linearLayout.addView(checkBox1) linearLayout.addView(checkBox2) linearLayout.addView(textView) > >

When you run this Kotlin code example, you should get the following view on your screen:

Читайте также:  Position text box in html

Create CheckBox in Kotlin Programmatically

Don’t forget to check other Kotlin programming tutorials I have published in Kotlin category.

And if you are interested in learning Kotlin in more details, check out the below books and video lessons.

Источник

CheckBox (Флажок)

Компонент CheckBox является флажком, с помощью которого пользователь может отметить (поставить галочку) определённую опцию. Очень часто флажки используются в настройках, когда нужно выборочно выбрать определённые пункты, необходимые для комфортной работы пользователю.

Компонент находится в группе Buttons.

Для управления состояниями флажка используйте методы setChecked() или togglе(). Чтобы узнать текущее состояние флажка, вызовите свойство isChecked.

Для экспериментов воспользуемся программой «Счётчик ворон», которую писали при изучении щелчка кнопки.

Как вы помните, в программе была кнопка и текстовое поле. Добавим ещё два элемента CheckBox, а также четыре текстовые метки TextView. Нам нужно постараться, чтобы элементы были аккуратно сгруппированы. Для этой цели воспользуемся вложенными компоновками LinearLayout. Заодно применим интересный приём — мы не будем использовать текст у флажков CheckBox, а воспользуемся текстовыми метками с разными размерами шрифтов. Верхняя метка с крупным шрифтом будет указывать на основную функциональность флажка, а нижняя метка с мелким шрифтом будет использоваться в качестве своеобразной подсказки, в которой содержится дополнительная информация для пользователя.

На самом деле вы можете попробовать другие способы разметки, не воспринимайте как догму. А мы идём дальше. Флажки в нашем приложении нужны для того, чтобы пользователь мог менять вывод текста в текстовом поле. По желанию, можно выводить текст красным цветом и жирным стилем по отдельности или в совокупности. Для этого нам нужно добавить дополнительные строчки кода в обработчик щелчка кнопки.

 // Если этот код работает, его написал Александр Климов, // а если нет, то не знаю, кто его писал. package ru.alexanderklimov.checkbox; import android.graphics.Color; import android.graphics.Typeface; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; public class MainActivity extends AppCompatActivity < private int mCount = 0; private EditText mMessageEditText; private CheckBox mColorCheckBox; private CheckBox mBoldCheckBox; @Override protected void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setTitle("CheckBox"); mMessageEditText = (EditText) findViewById(R.id.editText); mColorCheckBox = (CheckBox)findViewById(R.id.checkBoxColor); mBoldCheckBox = (CheckBox)findViewById(R.id.checkBoxBold); Button mCrowsCounterButton = (Button) findViewById(R.id.buttonCounter); mCrowsCounterButton.setOnClickListener(new View.OnClickListener() < @Override public void onClick(View v) < if(mColorCheckBox.isChecked()) mMessageEditText.setTextColor(Color.RED); else mMessageEditText.setTextColor(Color.BLACK); if(mBoldCheckBox.isChecked()) mMessageEditText.setTypeface(Typeface.DEFAULT_BOLD); else mMessageEditText.setTypeface(Typeface.DEFAULT); mMessageEditText.setText("Я насчитал " + ++mCount + " ворон"); >>); > > 

Запустите проект и попробуйте снимать и ставить галочки у флажков в разных комбинациях, чтобы увидеть, как меняется текст после щелчка кнопки. Код очень простой — проверяется свойство isChecked. Если галочка у флажка установлена, то свойство возвращает true и мы меняем цвет (красный) или стиль текста (жирный). Если флажок не отмечен, то свойство возвращает false, и мы используем стандартные настройки текста.

CheckBox CheckBoxCheckBox

Отслеживаем смену состояния флажка

С помощью слушателя-интерфейса OnCheckedChangeListener с его методом onCheckedChanged() можно отслеживать смену состояния флажка.

 // Kotlin val textView: TextView = findViewById(R.id.textView) val checkBox: CheckBox = findViewById(R.id.checkBox) checkBox.setOnCheckedChangeListener < buttonView, isChecked ->if (isChecked)< textView.text = "Флажок выбран" >else < textView.text = "Флажок не выбран" >> 
// Java TextView textView = findViewById(R.id.textView); CheckBox checkBox = findViewById(R.id.checkBox); checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() < @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) < if(isChecked) textView.setText("Флажок выбран"); else < textView.setText("Флажок не выбран"); >> >);

Собственные стили

Если вы используете стандартный проект, то флажок будет использовать цвета Material Design, в частности цвет colorAccent для фона флажка.

В файле res/values/styles.xml добавим строки:

   

Свойство colorControlNormal отвечает за прямоугольник в невыбранном состоянии, а colorControlActivated за закрашенный прямоугольник в выбранном состоянии.

Присваиваем созданный стиль атрибуту android:theme:

Теперь цвета флажков изменились.

CheckBox Style

Собственный вид

Если вас не устраивает стандартный вид элементов CheckBox, то не составит никакого труда реализовать свои представления о дизайне.

В папке res/drawable создаём файл checkbox_selector.xml:

Также необходимо подготовить два изображения для двух состояний флажков — выбран и не выбран. В нашем случае это две звезды — серая и жёлтая.

Осталось прописать селектор в компоненте CheckBox (атрибут android:button):

Готово! Можете запускать проект и проверять работу флажков. Ниже код для реагирования на смену состояния флажков:

 @Override public void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView textView = (TextView)findViewById(R.id.textView); CheckBox starCheckBox = (CheckBox) findViewById(R.id.checkBox); starCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() < @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) < if(isChecked) textView.setText("Флажок выбран"); else < textView.setText("Флажок не выбран"); >> >); > 

UncheckedChecked

AnimatedStateListDrawable. Анимация между переключением состояния

Когда мы создали собственный вид флажка, то переключение происходит сразу без анимации. В API 21 появилась возможность установить анимацию при помощи нового класса AnimatedStateListDrawable.

Создадим как прежде файл для собственного вида флажка.

res/drawable/toggle.xml

Далее нужные два значка. Они сделаны в векторном виде.

res/drawable/toggle_checked.xml

res/drawable/toggle_unchecked.xml

Присвоим созданный вид атрибуту android:button.

Код будет работать на устройствах, которые поддерживают векторную графику (API 14), но анимации не будет. Для анимации создадим альтернативный вариант файла в папке res/drawable-v21.

AnimatedStateListDrawable похож на обычный StateListDrawable, но позволяет указать анимацию перехода между двумя состояниями. Мы также указываем две картинки, но также добавляем элементы transition.

res/drawable-v21/toggle.xml

res/drawable-v21/toggle_unchecked_checked.xml

res/drawable-v21/toggle_checked_unchecked.xml

Если запустить пример на старом устройстве, то никакой анимации не увидим, но код будет работать без ошибок. На новых устройствах анимация будет работать.

Источник

How to use CheckBox in Android Kotlin?

This example demonstrates how to use CheckBox in Android Kotlin.

Step 1 − Create a new project in Android Studio, go to File ⇒New Project and fill all required details to create a new project.

Step 2 − Add the following code to res/layout/activity_main.xml.

Step 3 − Add the following code to src/MainActivity.kt

import android.os.Bundle import android.widget.Button import android.widget.CheckBox import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import java.lang.StringBuilder class MainActivity : AppCompatActivity() < lateinit var pizza: CheckBox lateinit var coffee: CheckBox lateinit var burger: CheckBox lateinit var button: Button override fun onCreate(savedInstanceState: Bundle?) < super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) title = "KotlinApp" pizza = findViewById(R.id.checkBox1) coffee = findViewById(R.id.checkBox2) burger = findViewById(R.id.checkBox3) button = findViewById(R.id.button) button.setOnClickListener < var totalAmount: Int = 0 val result = StringBuilder() result.append("Selected Items") if (pizza.isChecked) < result.append("
Pizza 100Rs") totalAmount += 100 > if (coffee.isChecked) < result.append("
Coffee 50Rs") totalAmount += 50 > if (burger.isChecked) < result.append("
Burger 120Rs") totalAmount += 120 > result.append("
Total: " + totalAmount + "Rs") Toast.makeText(applicationContext, result.toString(), Toast.LENGTH_SHORT).show() > > >

Step 4 − Add the following code to androidManifest.xml

Let’s try to run your application. I assume you have connected your actual Android Mobile device with your computer. To run the app from android studio, open one of your project’s activity files and click the Run icon from the toolbar. Select your mobile device as an option and then check your mobile device which will display your default screen −

Click here to download the project code.

Источник

Android CheckBox and Example in Kotlin

Android CheckBox is used for the android application user interface, where the user can select any one or more options. Checkbox example is the food ordering android app, where the user can select multiple food options. Checkbox control has both option select or deselect (checked and unchecked) option. CompoundButton class is the parent class of the CheckBox class.

Android CheckBox and Example in Kotlin (andorid studio)

You can create a Checkbox in your layout. Checkbox options allow to user select multiple items, so checkbox needs to manage a separately. The checkbox is a type of two state button either unchecked or checked in Android.

How to Use Checkbox

Add the Checkbox in the resource layout file.

Then set onClicklistener on Checkbox like that

// Single checked box cb_single.setOnClickListener(View.OnClickListener < if (cb_single.isChecked) < message(cb_single.text.toString() + " Checked") >else < message(cb_single.text.toString() + " UnChecked") >>)

Let’s Build a Complete Example of Android Checkbox :

How to When (switch) condition do with kotlin android: for example if you have multiple checkboxes? Let check this example with a simple one and multiple checkboxes in an app.

Step 1. Create new project “ Build Your First Android App in Kotlin “
Step 2. Add below code in “activity_main.xml” resource file

Here 5 checkbox is used, where 4 checkboxes have performed an event, added the android:onClick attribute. And 1 will be use OnClickListener.

Step 3. Open the “MainActivity.ktand add the following code
package `in`.eyehunt.androidcheckbox import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.CheckBox import android.widget.Toast import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() < override fun onCreate(savedInstanceState: Bundle?) < super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Single checked box cb_single.setOnClickListener(View.OnClickListener < if (cb_single.isChecked) < message(cb_single.text.toString() + " Checked") >else < message(cb_single.text.toString() + " UnChecked") >>) > // multiple checkbox click method fun onCheckboxClicked(view: View) < var checked = view as CheckBox if (cb_addidas == checked) < message(cb_addidas.text.toString() + if (cb_addidas.isChecked) " Checked " else " UnChecked ") >if (cb_nike == checked) < message(cb_nike.text.toString() + if (cb_nike.isChecked) " Checked " else " UnChecked ") >if (cb_converse == checked) < message(cb_converse.text.toString() + if (cb_converse.isChecked) " Checked " else " UnChecked ") >if (cb_reebok == checked) < message(cb_reebok.text.toString() + if (cb_reebok.isChecked) " Checked " else " UnChecked ") >> fun message(str: String) < Toast.makeText(this, str, Toast.LENGTH_LONG).show() >>
Step 4. Now Run the application, in an emulator or On your Android device

Output screenshot Android Checkbox example :

Android CheckBox and Example in Kotlin kotlin

Download source code Android CheckBox in kotlin

Do comment if you have any doubt and suggestion on this tutorial.

Note: This example (Project) is developed in Android Studio 3.1.3. Tested on Android 9 ( Android-P), compile SDK version API 27: Android 8.0 (Oreo)

MinSdkVersion=”15″

TargetSdkVersion=”27″

Coding in Kotlin

Источник

Android Tutorials

Android Tutorials

CheckBoxes are used to select one or more options from the available options. For example, you have a list of colors and the user can choose one or more colors from that list. We can use the CheckBox widget of android in such scenarios.

CheckBox | Android Studio | Kotlin

Step 1: Create a new project or open an existing project

Step 2: Code

if (androidCb.isChecked) < //check box is checked > else < //check box is not checked or unchecked >
androidCb.setOnCheckedChangeListener < _, isChecked ->//check if checkbox is checked or not if (isChecked) < //checkbox is checked > else < //checkbox is not checked > >

Complete Example

  xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp" tools:context=".MainActivity">  android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Select Your Experiences:" android:textColor="#000" android:textStyle="bold" />  android:id="@+id/androidCb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" android:text="Android Developer" />  android:id="@+id/iosCb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" android:text="iOS Developer" />  android:id="@+id/graphicsCb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" android:text="Graphics Designer" />  android:id="@+id/confirmBtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Confirm" />  android:id="@+id/resultTv" android:layout_width="wrap_content" android:layout_height="wrap_content" />  
package com.blogspot.atifsoftwares.myapplication import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() < override fun onCreate(savedInstanceState: Bundle?) < super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) confirmBtn.setOnClickListener < val result = StringBuilder() if (androidCb.isChecked) < result.append("\nAndroid Developer") > if (iosCb.isChecked) < result.append("\niOS Developer") > if (graphicsCb.isChecked) < result.append("\nGraphics Designer") > resultTv.text = "You're have selected:\n$result" > > >

Источник

Оцените статью