Android可绘制: layer-list repeat bitmap does not load when entirely covered

标签 android bitmap drawable repeat

我有一次加载三个全屏周 View (上一个、下一个、当前)。每个周 View 都有 7 列(一周中的每一天),具有可绘制的背景。

我的可绘制资源背景是

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Grey border on left and right --><item><shape><solid android:color="#999"/></shape></item>
    <!-- White background (.5pt to not cover border) --><item android:left=".5pt" android:right=".5pt"><shape>solid android:color="#FFF"/></shape></item>
    <!-- Image that repeats to make a grid --><item android:left=".5pt" android:right=".5pt"><bitmap android:src="@drawable/grid" android:tileMode="repeat" android:gravity="center" /></item>
    <!-- Times that align left. (12AM, 1AM, etc) --><item android:left="1pt" android:right=".5pt"><bitmap android:src="@drawable/grid_times" android:gravity="top|left|clip_horizontal" /></item>
</layer-list>

由于某种原因,如果我将三组七个放在一起,则只有前面(可见的一组)会得到重复的图像(实际上是一个 gif)。如果我把前面移过来,你可以看到其他人没有得到重复的图像

详情

布局是RelativeLayout,子类是RelativeLayout的三个子类。这三个子类彼此相同,并覆盖了允许它们被拖动的 dispatchTouchEvent。它们从彼此顶部开始,因此只有前面的可见。它们几乎完全相同,只是其中一个在顶部(起初)。

这是android的顶 View

                ' first    '
                ' second   '
                ' third    '
                |          |#<-- The android screen boundaries. Only third is visible.

                   ^ ^ ^
                    user
                  looking
                  forward

当用户用手指拖动 View 时,它会像这样结束(用户可以看到左侧第一个 Pane (前一周)的一点点)

       ' first    '
                           ' second   '
                  ' third    '
                |          |

另一种方式看起来像这样(用户可以看到第二个 Pane 的一点点(下周))

     ' first    '
                         ' second   '
              ' third    '
                |          |

当用户放手时,他们会捕捉到这个位置(现在,当我们修复这个问题时它会改变)

     ' first    '
                           ' second   '
                ' third    '
                |          |

最佳答案

当你移动前面的那个时,invalidate() 其他的,所以他们加载了drawable。

关于Android可绘制: layer-list repeat bitmap does not load when entirely covered,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4857838/

相关文章:

java - 正确将 RxJava 代码转换为 Kotlin

android - 从java修改一个xml StateListDrawable

android - 获取android联系人详细信息非常慢

java - 如何在带有 firebase 的 android studio 中使用多个过滤器

javascript - 从 Android 浏览器打开 Instagram

java - Android,立即模糊位图?

android - 在 Canvas 上绘制和删除位图图标

java - 从旋转位图Android获取像素

android - 在 Android 按钮中设置可绘制的自定义宽度高度图像

java - 可绘制 == 可绘制?