Функция IconButton
Функция IconButton рисует компактную
кнопку под одну иконку. Нажатие обрабатывает
параметр onClick, рисунок кладут
в лямбду content через
Icon
с контуром из Icons
и подписью contentDescription.
Синтаксис
IconButton(onClick = { }) {
Icon(
imageVector = Icons.Filled.Add,
contentDescription = "abcde",
)
}
Параметры
| Параметр | Описание |
|---|---|
onClick |
Лямбда без аргументов. Срабатывает, когда пользователь нажал кнопку. |
content |
Лямбда с иконкой внутри. Обычно вызывают
Icon с Icons.Filled
и contentDescription.
|
Пример
Давайте выведем одну кнопку с иконкой плюса:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
IconButton(onClick = { }) {
Icon(
imageVector = Icons.Filled.Add,
contentDescription = "abcde",
)
}
}
}
}
На экране появится круглая кнопка с иконкой плюса.
Пример
Давайте поставим две такие кнопки в ряд:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Row
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Row {
IconButton(onClick = { }) {
Icon(
imageVector = Icons.Filled.Add,
contentDescription = "abcde",
)
}
IconButton(onClick = { }) {
Icon(
imageVector = Icons.Filled.Add,
contentDescription = "12345",
)
}
}
}
}
}
На экране две кнопки с иконками встанут рядом друг с другом.
Смотрите также
-
функция
Icon,
которой рисуют знак внутри кнопки -
функция
FloatingActionButton,
которая тоже часто несёт одну иконку -
функция
ListItem,
куда иконку иногда кладут вleadingContent -
класс
Icons,
откуда берут готовые контуры