在ListView行的内部,我有一个框(现在它是一个imageview,但我可能会在某个时候将它转换为线性或相对布局对象)。当你点击该框时,我开始一个缩放动画,使它看起来增长。但是,一旦动画结束,该框立即返回其原始状态。我想让盒子保持在变形的尺寸(至少直到它们再次点击它)。
这是xml:
<scale
android:fromXScale="1" android:toXScale="5"
android:fromYScale="1" android:toYScale="1"
android:pivotX="100%" android:pivotY="0%" android:fillAfter="true"
android:duration="600" />
答案 0 :(得分:5)
我能够做到这一点的唯一方法是每隔1ms改变新线程上盒子的宽度。不漂亮,但似乎是保持盒子边框的唯一方法。如果你带有使用动画f / w的选项,请告诉我...
这里是代码Rohan,别忘了给我一个投票:)
private void toggleMenu(final ViewHolder menu, final boolean doExpand) {
final LayoutParams params = menu.actionMenu.getLayoutParams();
final int originalWidth = params.width;
Thread t = new Thread() {
@Override
public void run() {
for (int i = 0; i < 200; i++) {
if (doExpand) {
params.width = originalWidth + i;
} else {
params.width = originalWidth - i;
}
menu.actionMenu.post(new Runnable() {
@Override
public void run() {
menu.actionMenu.requestLayout();
}
});
try {
Thread.sleep(1);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
menu.expandCollapseButton.post(new Runnable() {
@Override
public void run() {
if (doExpand) {
menu.expandCollapseButton
.setImageResource(R.drawable.monotone_arrow_right);
} else {
menu.expandCollapseButton
.setImageResource(R.drawable.monotone_arrow_leftpng);
}
}
});
// menu.isExpanded = !menu.isExpanded;
}
};
t.start();
}
答案 1 :(得分:0)
<stroke>
元素。填充似乎也在增长,我希望不会增长......