vir*_*dis 5 android android-layout android-xml
关注问题:Android上视图背景颜色的动画更改我试图通过TransitionDrawable资源使TextView在两个背景之间淡入淡出.我的转换xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/gray_bar" />
<item android:drawable="@drawable/green_bar" />
</transition>
Run Code Online (Sandbox Code Playgroud)
我尝试通过以下方式将其设置为运行时的背景:
TextView answerBox = (TextView) findViewById(R.id.answerBox);
answerBox.setBackgroundResource(R.drawable.correct_transition);
TransitionDrawable transition = (TransitionDrawable) answerBox.getBackground();
transition.startTransition(1500);
Run Code Online (Sandbox Code Playgroud)
结果是textview转换成:
对此:

当整个灰色条应该变成绿色条.
两者都是9补丁png图像.这些是原件:

我的猜测是绿色条填满了灰色条内的文字空间,但我不知道为什么.有线索吗?尽管出现了所包含的图像,灰色的也看起来比它应该大得多,但是在转换之前,期间或之后不会改变大小.这可能是9补丁图像的问题,因为我已经测试了正常图像,并且过渡效果很好.
谢谢你的帮助!
小智 0
我能够重现您所看到的问题,绿色条没有占据灰色条的全部空间。要修复此问题,请使用灰色条 9 块并将底部和右侧的线条延伸到距角 1 个像素的位置。
顺便说一句,9 块的另一个潜在问题是,随着内容高度的增加,您的图像在垂直拉伸时会出现视觉伪影。这是图像左侧黑条高度的结果,它决定了 9 块的哪一部分应该拉伸。对这些 9 块的进一步改进是将左侧的黑线减少到左边缘正中心的单个像素。由于只有一个像素被标记为可拉伸,因此如果您的可绘制对象的高度增加,这应该会给您带来清晰的垂直边缘。
如果您包含布局代码,我也许可以帮助您解决其他尺寸问题。
| 归档时间: |
|
| 查看次数: |
1386 次 |
| 最近记录: |