Android Drawable:完全覆盖时不加载图层列表重复位图

时间:2011-02-01 00:55:50

标签: android bitmap drawable repeat

我有三个全屏周视图,一次加载(上一个,下一个,当前)。每周视图有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

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

                   ^ ^ ^
                    user
                  looking
                  forward

当用户使用他们的手指拖动视图时,它会像这样结束(用户可以看到左边第一个窗格(上周)的一点)

       ' first    '
                           ' second   '
                  ' third    '
                |          |

另一种方式看起来像这样(用户可以看到第二个窗格的一小部分(下周))

     ' first    '
                         ' second   '
              ' third    '
                |          |

当用户离开时,他们会抓住这个位置(现在,当我们解决这个问题时它会改变)

     ' first    '
                           ' second   '
                ' third    '
                |          |

1 个答案:

答案 0 :(得分:1)

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