Android自定义水平进度条位图可绘制得到拉伸

Android自定义水平进度条位图可绘制得到拉伸,android,layout,android-layout,progress-bar,Android,Layout,Android Layout,Progress Bar,我在Android应用程序中使用可绘制水平进度条的自定义进度条。这是一个两层拉丝的。第一层是斜纹png图像,带有tileMode=“repeat”。第二层在条纹上添加阴影。这是progress_bar_horizontal.xml drawable的外观: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/and

我在Android应用程序中使用可绘制水平进度条的自定义进度条。这是一个两层拉丝的。第一层是斜纹png图像,带有
tileMode=“repeat”
。第二层在条纹上添加阴影。这是progress_bar_horizontal.xml drawable的外观:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/progress">
      <clip>
        <layer-list>
          <item>
            <bitmap android:src="@drawable/diagonal_stripes_0" android:tileMode="repeat" />
          </item>
          <item>
            <nine-patch android:src="@drawable/inset_shadow" />
          </item>
        </layer-list>
      </clip>
    </item>
    </layer-list>

此可绘制控件用于主题中,以重新设置进度条控件的样式:

    <style name="Theme.Custom" parent="android:Theme.Light">
      <item name="android:progressBarStyleHorizontal">@style/Widget.ProgressBar.Horizontal.Custom</item>
    </style>

    <style name="Widget.ProgressBar.Horizontal.Custom" parent="android:Widget.ProgressBar.Horizontal">
      <item name="android:background">@drawable/bg_inset_gray</item>
      <item name="android:progressDrawable">@drawable/progress_bar_horizontal</item>
      <item name="android:indeterminateDrawable">@drawable/progress_bar_indeterminate_horizontal</item>
    </style>

@style/Widget.ProgressBar.Horizontal.Custom
@可拉伸/背景插图灰色
@可拉拔/进度条水平
@可拉伸/进度条不确定水平
其想法是制作一个对角条纹进度条,该进度条不会拉伸,但随着操作的进行,其宽度会增加。这就是使用
的原因

它大部分时间都很好用。然而,有时(并没有任何机会故意复制),它开始拉伸可绘制的单个瓷砖,而不是适当地剪裁

该应用程序是使用android:minSdkVersion=“7”开发的,并运行在HTC Desire上的android 2.2

任何帮助都将不胜感激