getActivity / ShapeView

Shape 支持在布局中直接定义啦,支持设置阴影,文字渐变色,状态选择器
Apache License 2.0
841 stars 79 forks source link

[Bug]:NestScrollView中如有子veiw设置了阴影 并且子view的高度最终比屏幕高度要高 则会出现这个view显示不出来 #84

Closed daquanzheng closed 4 months ago

daquanzheng commented 4 months ago

框架版本【必填】

9.0

问题描述【必填】

NestScrollView中如有子veiw设置了阴影 并且子view的高度最终比屏幕高度要高 则会出现这个view显示不出来,我写了一个简单的demo,布局文件我放在了报错堆栈一栏。您可以简单的复制并设置textview的内容即可复现

复现步骤【必填】

在Activity中直接将TextView的文字设置为布局文件中text中预设值的内容,则会出现整个shapeConstranlatout不显示了。如果将文字内容减少至比屏幕高度低则能正常显示。

是否必现【必填】

项目 targetSdkVersion【必填】

33

出现问题的手机信息【必填】

小米12s

出现问题的安卓版本【必填】

Android 14

问题信息的来源渠道【必填】

自己遇到的

是部分机型还是所有机型都会出现【必答】

所有机型都会

框架最新的版本是否存在这个问题【必答】

框架文档是否提及了该问题【必答】

是否已经查阅框架文档但还未能解决的【必答】

issue 列表中是否有人曾提过类似的问题【必答】

是否已经搜索过了 issue 列表但还未能解决的【必答】

是否可以通过 Demo 来复现该问题【必答】

提供报错堆栈

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFDAC3F"
    android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
            android:id="@+id/tv_check"
            android:layout_width="60dp"
            android:layout_height="50dp"
            android:layout_gravity="end"
            android:background="@color/white"
            android:gravity="center"
            android:layout_marginTop="44dp"
            android:layout_marginEnd="20dp"
            android:text="切换" />
    <androidx.core.widget.NestedScrollView
        android:id="@+id/scroll_view"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <com.hjq.shape.layout.ShapeConstraintLayout
                android:id="@+id/cl_write_require_main"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="16dp"
                app:shape_radiusInBottomRight="14dp"
                app:shape_radiusInTopLeft="14dp"
                app:shape_shadowColor="@color/shadow_grey2"
                app:shape_shadowOffsetX="10dp"
                app:shape_shadowOffsetY="10dp"
                app:shape_shadowSize="16dp"
                app:shape_solidColor="@color/white">

                <androidx.appcompat.widget.AppCompatTextView
                    android:id="@+id/tv_write_content"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="14dp"
                    android:layout_marginTop="16dp"
                    android:layout_marginEnd="14dp"
                    android:textColor="@color/black_1A"
                    android:textSize="16sp"
                    app:layout_constraintTop_toTopOf="parent"
                    tools:text="      朝霞初照,田野宛如一幅浓墨重彩的油画,金黄的麦穗在阳光下熠熠生辉,仿佛镶嵌在大地上的颗颗明珠。微风拂过,麦浪起伏,如同大海中涌动的波涛,展现出生命的蓬勃与坚韧。勤劳的农人,手持镰刀,弯腰劳作,他们脸庞上的汗珠与麦穗上的露珠交相辉映,诠释着耕耘与收获的真谛。
      蜿蜒曲折的小河,如同一首流淌的田园诗篇。河水碧波荡漾,清澈得能映射出天空的蔚蓝与云朵的洁白。河底的鹅卵石与水草交织成神秘的水下世界,小鱼儿悠然游弋,时而跃出水面,划破宁静,留下一圈圈涟漪。垂柳依依,宛如绿色的瀑布倾泻入河,与水中的倒影相互映衬,构成一幅静谧而和谐的生态画卷。
      果园里,果实累累,色彩斑斓。苹果如红宝石般镶嵌在翠绿的枝叶间,梨子似金钟挂满树梢,葡萄如紫色的珍珠串串垂挂,每一颗都闪烁着诱人的光泽。阳光穿透树叶的缝隙,斑驳的光影在果实上跳跃,仿佛是大自然精心绘制的艺术佳作。空气中弥漫着浓郁的果香,那是甜蜜生活的气息,让人忍不住想要靠近,品尝这份来自大地的丰厚馈赠。
      在这幅田园诗画中,我被深深打动。田野的壮美、小河的婉约、果园的丰饶,无不展现出大自然的鬼斧神工与生命的旺盛活力。我领悟到,生活之美不在远方,而在我们脚下的每一寸土地,每一滴水中,每一片叶子,每一个果实。让我们怀揣感恩之心,珍爱并呵护这份自然赐予的宝贵财富,让心灵在与大自然的亲近中得到净化与升华。
      朝霞初照,田野宛如一幅浓墨重彩的油画,金黄的麦穗在阳光下熠熠生辉,仿佛镶嵌在大地上的颗颗明珠。微风拂过,麦浪起伏,如同大海中涌动的波涛,展现出生命的蓬勃与坚韧。勤劳的农人,手持镰刀,弯腰劳作,他们脸庞上的汗珠与麦穗上的露珠交相辉映,诠释着耕耘与收获的真谛。
      蜿蜒曲折的小河,如同一首流淌的田园诗篇。河水碧波荡漾,清澈得能映射出天空的蔚蓝与云朵的洁白。河底的鹅卵石与水草交织成神秘的水下世界,小鱼儿悠然游弋,时而跃出水面,划破宁静,留下一圈圈涟漪。垂柳依依,宛如绿色的瀑布倾泻入河,与水中的倒影相互映衬,构成一幅静谧而和谐的生态画卷。
      果园里,果实累累,色彩斑斓。苹果如红宝石般镶嵌在翠绿的枝叶间,梨子似金钟挂满树梢,葡萄如紫色的珍珠串串垂挂,每一颗都闪烁着诱人的光泽。阳光穿透树叶的缝隙,斑驳的光影在果实上跳跃,仿佛是大自然精心绘制的艺术佳作。空气中弥漫着浓郁的果香,那是甜蜜生活的气息,让人忍不住想要靠近,品尝这份来自大地的丰厚馈赠。
      在这幅田园诗画中,我被深深打动。田野的壮美、小河的婉约、果园的丰饶,无不展现出大自然的鬼斧神工与生命的旺盛活力。我领悟到,生活之美不在远方,而在我们脚下的每一寸土地,每一滴水中,每一片叶子,每一个果实。让我们怀揣感恩之心,珍爱并呵护这份自然赐予的宝贵财富,让心灵在与大自然的亲近中得到净化与升华。" />

            </com.hjq.shape.layout.ShapeConstraintLayout>

        </LinearLayout>
    </androidx.core.widget.NestedScrollView>
</LinearLayout>

提供截图或视频

1716284650481 1716284653015 第一张是能正常显示 内容比较少,第二张不能显示shapeCosntraintlayout的高度已经超过屏幕高度

提供解决方案

No response

daquanzheng commented 4 months ago

最初我找到了一个解决办法 就是在NestScrollView中加上layerType="software"属性可以解决不能显示的问题,但是这样的话滑动效果将不是很顺畅,不知作者大大能否解决这个问题

getActivity commented 4 months ago

https://github.com/getActivity/ShapeView/issues/56

getActivity commented 4 months ago
image
getActivity commented 4 months ago

小伙子,你确定没有人提过这个问题?

daquanzheng commented 4 months ago

一开始我没搜到抱歉

小伙子,你确定没有人提过这个问题?

一开始我没搜到抱歉