gpt4 book ai didi

fragment 中的 Android 动画不起作用

转载 作者:行者123 更新时间:2023-11-29 01:59:16 26 4
gpt4 key购买 nike

我有三个重叠的 ScrollView 。出于某种原因,当我将另外两个设置为 View.Gone 并将一个 ScrollView 设置为 View.Visible,然后启动动画时,它不会被触发。这些 ScrollView 在一个 fragment 中——我知道有些功能在一个 fragment 中不能完全工作。虽然动画看起来很基本。

这是我的按钮监听器的方法;

        sv2.setVisibility(View.GONE);
sv3.setVisibility(View.GONE);
sv1.setVisibility(View.VISIBLE);
Animation fadeInAnimation = AnimationUtils.loadAnimation(getActivity(), R.anim.fade_in_scollview);
//set your animation
sv1.startAnimation(fadeInAnimation);

也尝试过设置不可见,加载动画,然后使其可见;

        sv1.setVisibility(View.INVISIBLE);
Animation fadeInAnimation = AnimationUtils.loadAnimation(getActivity(), R.anim.fade_in_scollview);
//set your animation
sv1.startAnimation(fadeInAnimation);
sv1.setVisibility(View.VISIBLE);

这是我的动画 xml;

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="500"
android:repeatCount="infinite"/>
</set>

最佳答案

要在 Fragment 中使用动画,请尝试以下代码

这是我的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<ImageView
android:id="@+id/iv_banner"
android:layout_width="fill_parent"
android:layout_height="250dp"
android:layout_gravity="center_horizontal" />
</LinearLayout>

这是我的 fragment java类

    public class Fragment_Home extends Fragment {
public int currentimageindex = 0;
Handler mHandler = new Handler();
Runnable mUpdateResults;

//Array of drawable images
private int[] IMAGE_IDS = {
R.drawable.home_slider_stemer, R.drawable.home_slider_plane
};

//image view
private ImageView iv_banner;
private View rootView;

public Fragment_Home() {
// Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
rootView = inflater.inflate(R.layout.fragment_home, container, false);

LoadUIElements();



return rootView;
}

private void LoadUIElements() {
iv_banner = (ImageView) rootView.findViewById(R.id.iv_banner);
int delay = 1000; // delay for 1 sec.

int period = 2000; // repeat every 4 sec.
Timer timer = new Timer();

timer.scheduleAtFixedRate(new TimerTask() {

@Override
public void run() {
// TODO Auto-generated method stub
mHandler.post(mUpdateResults);
}
}, delay, period);

mUpdateResults = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
AnimateandSlideShow();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
};
}

/**
* Helper method to start the animation on the splash screen
*/
protected void AnimateandSlideShow() {
// TODO Auto-generated method stub
try {
iv_banner.setImageResource(IMAGE_IDS[currentimageindex
% IMAGE_IDS.length]);

currentimageindex++;
Animation rotateimage = AnimationUtils.loadAnimation(getActivity()
.getBaseContext().getApplicationContext(), R.anim.fade_in);
iv_banner.startAnimation(rotateimage);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

不要忘记将图像放在 res 中的 Drawable 文件夹中。

关于 fragment 中的 Android 动画不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13503557/

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