gpt4 book ai didi

android - 9-patch 可绘制被裁剪

转载 作者:太空狗 更新时间:2023-10-29 14:32:10 25 4
gpt4 key购买 nike

我对这个有点不知所措,我有一个九个可绘制补丁(见附件),它在 draw9Patch 工具中工作,没有坏补丁,在 ldpi、mdpi 应用程序的初始加载时工作正常, 分辨率 1.6 - 2.3.3。

但是在每个屏幕尺寸上,如果我转到另一个 Activity ,然后返回到包含带有九个可绘制补丁作为背景的按钮的原始屏幕,图像在顶部被裁剪(看起来好像它发生在可重复区域).

我已经检查了布局并更改了任何 9-patch 可绘制对象,以确保它不是一个流氓九补丁导致其余部分出现问题。我已确保每个密度像素屏幕都有自己的一组资源,并且我将尝试将按钮的 xml 状态选择器也移动到每个相应的可绘制文件夹中。

令人沮丧的是,即使 9-patch 绘制不正确,旋转屏幕似乎也能解决问题,只有当我从一个新 Activity 移回有问题的 Activity 时, 9-patch 会剪掉 50% 的时间。

Drawable 是:

Problem Nine Patch

结果图像的左侧部分如下(注意没有圆角边缘):

Rendered problem nine patch

如果您实际上放大渲染图像,它似乎有 9-patch 的顶部(在缩放像素上方)与下方的可绘制对象重叠(放大并看到圆角)。

按钮的布局没有任何异常:

<Button
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/some_text"></Button>

我可以将 layout_height 设置为固定高度(即 50dp),这似乎可以阻止 9-patch 自行折叠/剪裁。

如果有人对问题可能有任何想法,请告诉我。

干杯,马特

解决方法:

我的问题与状态列表选择器中的以下 bool 参数有关:

android:constantSize="真"机器人:抖动=“假”android:variablePadding="false"

我不确定是什么导致了这种行为,但我认为它会导致某种形式的缓存或某些引入此间歇性错误的优化。

最佳答案

我的问题与状态列表选择器中的以下 bool 参数有关:

android:constantSize="true" 
android:dither="false"
android:variablePadding="false"

我不确定是什么导致了这种行为,但我认为它会导致某种形式的缓存或某些引入此间歇性错误的优化。

关于android - 9-patch 可绘制被裁剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5582720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com