Skip to content

Instantly share code, notes, and snippets.

View sudo5in5k's full-sized avatar
💪
GASGASGAS

ussy_free sudo5in5k

💪
GASGASGAS
View GitHub Profile
@Preview
@Composable
fun TermsOfUseScreenCompletedPreview() {
val checkedState = remember {
mutableStateOf(false)
}
MaterialTheme {
Scaffold(
topBar = {
TopAppBar(
Row(
modifier = Modifier.fillMaxWidth().toggleable(
value = checkedState.value,
onValueChange = { checkedState.value = it },
role = Role.Checkbox
)
.padding(8.dp),
horizontalArrangement = Arrangement.Center,
verticalAlignment = Alignment.CenterVertically
) {
val description = if (checkedState.value) {
"次へ進むことができます"
} else {
"次へ進むには利用規約に同意する必要があります"
}
Button(modifier = Modifier
.semantics {
liveRegion = LiveRegionMode.Polite
contentDescription = description
@Preview
@Composable
fun TermsOfUseScreenNotCompletedPreview() {
val checkedState = remember {
mutableStateOf(false)
}
MaterialTheme {
Scaffold(
topBar = {
TopAppBar(
@sudo5in5k
sudo5in5k / WrapHeightViewPager.kt
Created July 8, 2020 06:40
WrapHeightViewPager
/**
* wrap_contentを対応できるようにしたViewPager
*/
class WrapHeightViewPager @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null
) : ViewPager(context, attrs) {
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
var localHeightMeasureSpec = heightMeasureSpec
@sudo5in5k
sudo5in5k / Resource.kt
Created June 21, 2020 13:00
Response Resource in kotlin
sealed class Resource<T>(
val data: T? = null,
val message: String? = null
) {
class Success<T>(data: T) : Resource<T>(data)
class Loading<T>(data: T? = null) : Resource<T>(data)
class Error<T>(message: String, data: T? = null) : Resource<T>(data, message)
}
@sudo5in5k
sudo5in5k / circular_progress_bar.xml
Created April 16, 2020 05:13
GradationProgressBar
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="45"
android:toDegrees="-315"
android:pivotX="50%"
android:pivotY="50%">
<shape
android:shape="ring"
android:useLevel="false">
@sudo5in5k
sudo5in5k / Hoge.kt
Created January 16, 2020 08:38
Singletonを実装するならこう
class Hoge {
companion object {
@Volatile
private var instance: Hoge? = null
fun getInstance() = instance ?: synchronized(this) {
instance ?: Hoge().also { instance = it }
}
}
}
@sudo5in5k
sudo5in5k / career-kaigi-anti-harassment-policy.md
Created July 30, 2019 08:30
CareerKaigiアンチハラスメントポリシー

CareerKaigi アンチハラスメントポリシー

CareerKaigiではアンチハラスメントポリシーを定めています。イベントに参加する皆様は以下のポリシーを遵守してください。

当ポリシーの目的及び適用範囲

当ポリシーは、イベントの参加者全員が楽しく、安全に集える場を維持するために策定されました。

「参加者全員が楽しく、安全に集える場を維持する」という目的には、「将来開催されるイベントについてもみなさんが不安や心配を感じることなく、気軽に参加できること」も含まれています。