小编Iva*_*gor的帖子

MotionLayout 的孩子忽略“setVisibility”

假设我有带有运动布局的简单 UI:

// 活动_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.motion.widget.MotionLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/motion"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layoutDescription="@transition/motion_scene"
    app:showPaths="true">

    <View
        android:id="@+id/view"
        android:layout_width="0dp"
        android:layout_height="250dp"
        android:background="#CCAA33"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        />

    <ProgressBar
        android:id="@+id/progress_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="visible"
        android:progressTint="#3366CC"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        />
</androidx.constraintlayout.motion.widget.MotionLayout>
Run Code Online (Sandbox Code Playgroud)

带有运动布局场景:

<?xml version="1.0" encoding="utf-8"?>
<MotionScene
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:android="http://schemas.android.com/apk/res/android">

    <Transition
            app:constraintSetStart="@id/collapsed"
            app:constraintSetEnd="@id/expanded"
            app:duration="1000">
        <OnSwipe
                app:touchAnchorId="@id/view"
                app:touchAnchorSide="top"
                app:dragDirection="dragUp" />
    </Transition>
    <ConstraintSet android:id="@+id/collapsed">

    </ConstraintSet>

    <ConstraintSet android:id="@+id/expanded">

    </ConstraintSet>
</MotionScene>
Run Code Online (Sandbox Code Playgroud)

图片1

(它没有做任何事情,因为我为了演示目的剥离了所有内容)。

现在,如果我尝试隐藏进度条(让我们说在视图的点击):

//主活动.kt

import android.content.res.ColorStateList
import android.graphics.Color
import android.os.Bundle
import android.view.View
import android.widget.ProgressBar
import androidx.appcompat.app.AppCompatActivity


class MainActivity : AppCompatActivity() { …
Run Code Online (Sandbox Code Playgroud)

android android-motionlayout

10
推荐指数
1
解决办法
3027
查看次数

ExtendedFloatingActionButton - 如何在按钮扩展和收缩时达到相同的高度

我正在使用最新的材料组件 - 1.1.0-beta01。

当 ExtendedFloatingActionButton 展开时,其高度也会降低。

晶圆厂收缩

晶圆厂扩大

以下是 xml 布局的外观:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
   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:id="@+id/main_view"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity">

   <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
       android:id="@+id/fab"
       android:layout_width="wrap_content"
       android:layout_height="56dp"
       android:text="Text"
       android:textColor="#02220D"
       android:backgroundTint="#F2C203"
       style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
       android:textSize="15sp"
       android:fontFamily="sans-serif-medium"
       android:textStyle="normal"
       android:layout_marginBottom="16dp"
       android:layout_marginEnd="16dp"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintEnd_toEndOf="parent"
       app:iconTint="#02220D"
       app:icon="@drawable/ic_camera"
       app:iconPadding="10dp"
       android:insetLeft="0dp"
       android:insetBottom="0dp"
       android:insetTop="0dp"
       android:insetRight="0dp"
       />

</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

我试图设置最小和最大高度,但没有用。知道如何在按钮展开和收缩时达到相同的高度吗?

谢谢。

android android-button floating-action-button material-components material-components-android

6
推荐指数
1
解决办法
1869
查看次数

合并远程分支的更改

我开始学习Git,我遇到了一个问题.

假设有一个主存储库和两个分支.

- > fork1 - >我的本地克隆

- > fork2

我正在使用一个fork,我可以从master存储库中提取更改并将它们与我自己的存储库合并.现在,假设在第二个分支中的一个分支中进行了一些更改.我如何拉动它们并合并到我的仓库?

fork2 - >与我的本地克隆合并 - > push to fork1

另外,我可以在第二个分支中从远程分支合并特定的提交(通过提交哈希)以及如何?

谢谢你的回答.

git

5
推荐指数
1
解决办法
6174
查看次数

使用“JsonContentPolymorphicSerializer”时,Kotlinx 反序列化不包含抽象类的属性

假设有一个抽象类BaseClass ...

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable(with = PolymorphicSerializer::class)
abstract class BaseClass {
    @SerialName("bid")
    var baseId: String? = null
 }
Run Code Online (Sandbox Code Playgroud)

...扩展它的类ExtendedClass ...

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
class ExtendedClass
    (@SerialName("eid")
     var newId: String? = null
) : BaseClass()
Run Code Online (Sandbox Code Playgroud)

...和多态序列化器

import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.json.JsonContentPolymorphicSerializer
import kotlinx.serialization.json.JsonElement

object PolymorphicSerializer  : JsonContentPolymorphicSerializer<BaseClass>(BaseClass::class) {
    override fun selectDeserializer(element: JsonElement): DeserializationStrategy<out BaseClass> {
        return ExtendedClass.serializer()
    }
}
Run Code Online (Sandbox Code Playgroud)

使用PolymorphicSerializer是因为 JSON 可以反序列化为基于某些属性扩展BaseClass 的不同类(为了简单起见,我只使用了ExtendedClass.serializer()

现在,如果我们尝试将通用 JSON 反序列化为ExtendedClass ...

class DeserializationTest …
Run Code Online (Sandbox Code Playgroud)

android kotlin kotlinx.serialization

5
推荐指数
1
解决办法
1766
查看次数

嵌套的viewpager2

我正在尝试实现这样的布局:

在此处输入图片说明

我附上了示例项目:https : //drive.google.com/file/d/1jEKOONMWN3MblLN1EmePsWTWNCNQVfN-/view?usp=sharing

我遇到的问题是第二个视图寻呼机对触摸事件没有反应。

理想情况下,如果用户在选择“两个”选项卡时向右滑动,则第二个视图寻呼机将在用户滑动时更改页面 - 从图片中,如果选择“第四”,则向右滑动将选择“第五”,向左滑动将选择“第三”。从“第三个”向左滑动将导致第一个查看页面选择“一个”。

有没有办法用视图寻呼机 2 做到这一点?

谢谢您的回答。

android android-viewpager2

3
推荐指数
1
解决办法
719
查看次数