Смещение не работает в элементе Swiper - JetPack ComposeAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Смещение не работает в элементе Swiper - JetPack Compose

Сообщение Anonymous »

Я пытаюсь создать элемент Swiper в моем приложении, который ведет себя так, как используются телефоны Swiper Apple при вызове. В этом процессе я использовал ввод и смещение указателя для получения действия пользователя, а также для обновления визуальных эффектов. Однако, даже когда я резко кодировал смещение, значок не сдвинулся с места. Это круг в округленном прямоугольнике, который должен проходить вбок. < /P>
Box(
Modifier
.padding(top = 40.dp)
.width(350.dp)
.height(60.dp)
.align(Alignment.CenterHorizontally)
.clip(RoundedCornerShape(45.dp))
.background(White.copy(0.4f))
) {

// Slider Circle
val density= LocalDensity.current
val maxOffset=with(density){280.dp.toPx()}
var offsetX by remember {mutableFloatStateOf(0f)

Box(
Modifier
.size(60.dp)
.padding(6.dp)
.clip(RoundedCornerShape(45.dp))
.background(White)
// Set the offset when scrolled (Does NOT WORK)
.offset (with(density){(offsetX/density.density).dp}, 0.dp)
.pointerInput(Unit) {
detectDragGestures { change, dragAmount ->
change.consume() //Handles the Drag event

//Limit the X
offsetX=(dragAmount.x+offsetX).coerceIn(0f,maxOffset)
Log.i("Slider","$offsetX")
}
}
.zIndex(1f)
)
}
< /code>
Я использовал logcat, чтобы убедиться, что смещение было правильным, что было. Я зажимал его и использовал плотность, чтобы убедиться, что она не выходит за пределы границ. Однако значок просто не двигался.

Подробнее здесь: https://stackoverflow.com/questions/794 ... ck-compose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»