Android SeekBar中使用Nine-Patch镜像渲染时出现的问题

时间:2016-10-06 18:53:55

标签: android rendering nine-patch android-seekbar

我正在尝试使用带有自定义布局的Android搜索栏,但是如果我尝试使用一层Nine-Patch图像设置ProgressDrawable,以支持多种分辨率,它就不起作用。但是,如果我不使用Nine-Patch,它会正确渲染,但会被拉伸。 这是我用来以编程方式设置进度的代码:

mAuxSlideButton.setProgressDrawable(getResources().getDrawable(R.drawable.seekbar_slidebutton_progress_clip);

这是seekbar_slidebutton_progress_clip.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@android:id/background"
          android:drawable="@drawable/seekbar_slidebutton_progressbackground" >
    </item>
    <item android:id="@android:id/progress">
        <clip android:drawable="@drawable/seekbar_slidebutton_progressbar" />
    </item>
</layer-list>

这是显示结果和使用的图像的两张图片: Image showing when there's no nine-patch, the Progress and Progress Background below

Image showing when nine-patch is used, the Progress and Progress Background below

唯一的区别是我在Android Studio中选择了图像并通过它制作了九个补丁。

有谁知道为什么会这样?我无法使用直接XML,因为按钮是在满足条件的情况下在运行时制作的,否则它就是一个简单的按钮。

非常感谢。

0 个答案:

没有答案