gpt4 book ai didi

Android Gallery Scale Center 图像和间距问题

转载 作者:行者123 更新时间:2023-11-30 04:23:00 25 4
gpt4 key购买 nike

我有一个包含 Gallery View 的 Activity。我在 Gallery 上定义了一个 onItemSelectedListener,这样无论何时选择一个项目,我都会将缩放动画应用到当前选定的 View 。除了一个问题外,监听器和缩放工作与预期的差不多。

当我定义 Gallery 时,我设置了 spacing 属性,但是,在缩放 View 后,间距设置不正确。请参阅下图作为问题示例。

关于如何保持适当的间距有什么想法吗?

enter image description here

以下是代码 fragment :

ma​​in.xml

<Gallery
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/featured_gallery"
android:layout_width="1355px"
android:layout_height="490px"
android:layout_gravity="center"
android:spacing="5px"
android:layout_marginTop="70dp"
/>

feature_selected.xml

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="1.0"
android:toXScale="1.075"
android:fromYScale="1.0"
android:toYScale="1.075"
android:duration="100"
android:pivotX="50%"
android:pivotY="50%"

android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fillAfter="true">
</scale>

onItemSelectListener

private class FeaturedSelectListener implements AdapterView.OnItemSelectedListener {

private Animation grow = null;
private View lastView = null;

public FeaturedSelectListener(Context c) {
grow = AnimationUtils.loadAnimation(c, R.anim.featured_selected);
}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// Shrink the view that was zoomed
try {
if (null != lastView)
lastView.clearAnimation();
} catch (Exception clear) {
}

// Zoom the new selected view
try {
view.startAnimation(grow);
} catch (Exception animate) {
}

// Set the last view so we can clear the animation
lastView = view;

}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}

}

最佳答案

在Android中查看动画是一个主要的PITA。当 View 必须“移动其他 View ”时,它几乎永远无法正常工作。有时使用 fill_after 参数, View 将不再响应触摸事件。天知道为什么。

我会给你两个次优的选择:

  1. 不要让前 View 变大,而是让侧 View 变小。空间会增长,这可能比你现在拥有的更有吸引力

  2. 移除 fill_after,然后使用 AnimationListener 并在 animationEnd 中使用 LayouParameters 设置 View 大小。

祝你好运。

关于Android Gallery Scale Center 图像和间距问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8988069/

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