Android AppCompatImageView View.Gone状态切换到View.VISIBLE重新layout,Kotlin

发布于:2024-12-18 ⋅ 阅读:(100) ⋅ 点赞:(0)

Android AppCompatImageView View.Gone状态切换到View.VISIBLE重新layout,Kotlin

import android.content.Context
import android.util.AttributeSet
import android.util.Log
import androidx.appcompat.widget.AppCompatImageView

class MyImageView : AppCompatImageView {
    constructor(ctx: Context, attributeSet: AttributeSet) : super(ctx, attributeSet) {

    }

    override fun layout(l: Int, t: Int, r: Int, b: Int) {
        super.layout(l, t, r, b)
        Log.d("fly", "layout")
    }

    override fun setVisibility(visibility: Int) {
        super.setVisibility(visibility)

        when (visibility) {
            VISIBLE ->
                Log.d("fly", "VISIBLE")

            GONE ->
                Log.d("fly", "GONE")

            INVISIBLE ->
                Log.d("fly", "INVISIBLE")
        }
    }
}

1、当把一个View从原先的GONE状态动态编码切到VISIBLE之后,View会重新layout。

2、但是,如果View原先是INVISIBLE态,上层代码动态切换到VISIBLE,并不会触发View的layout。

Android自定义ViewGroup:实现简单的垂直方向线性布局(2)_viewgroup设置垂直布局-CSDN博客文章浏览阅读4.1k次。Android自定义ViewGroup:实现简单的垂直方向线性布局(2)附录文章1自定义了一个ViewGroup,该ViewGroup实现了一个线性布局,水平方向的。本文修改附录文章1中的MyLayout.java代码文件,作为演练,再次实现一个简单的线性布局,不过这次的线性布局是垂直方向上的。附录文章1的全部代码均不用修改,只需要把MyLayout.java的某些地方代码调整,即_viewgroup设置垂直布局https://blog.csdn.net/zhangphil/article/details/51199221

Android FrameLayout子view居中(左居中,右居中)等_framelayout中子view位置-CSDN博客文章浏览阅读3.4w次,点赞3次,收藏6次。Android的布局FrameLayout默认是把布局内的子view堆砌在左上角,但是,可以通过设置子view的:android:layout_gravity此参数控制子view的布局位置,实现FrameLayout的各种子view布局位置,如左居中,右居中,居中等等,要点在android:layout_gravity的参数设置中组合使用“center”、“left”、“right”等_framelayout中子view位置https://blog.csdn.net/zhangphil/article/details/47811601


网站公告

今日签到

点亮在社区的每一天
去签到