小编Ish*_*haq的帖子

如何在android中为弹出窗口制作动画

我在我的应用程序中有一个弹出窗口,当点击某个按钮时它出现我想将动画淡入到此窗口,我将xml文件放在"res/anim"文件夹中并为弹出窗口设置动画样式但是动画不起作用?这是我的代码:

myanim.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="4000"
        android:repeatCount="1"/>
</set>
Run Code Online (Sandbox Code Playgroud)

===============================================

创建弹出窗口

private PopupWindow showOptions(Context mcon){
    try{ 
        LayoutInflater inflater = (LayoutInflater) mcon.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        View layout = inflater.inflate(R.layout.options_layout,null);
        layout.setAnimation(AnimationUtils.loadAnimation(this, R.anim.myanim));
        PopupWindow optionspu = new PopupWindow(layout, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

        optionspu.setFocusable(true);
        optionspu.showAtLocation(layout, Gravity.TOP, 0, 0);
        optionspu.update(0, 0, LayoutParams.WRAP_CONTENT, (int)(hei/5));
        optionspu.setAnimationStyle(R.anim.myanim);
        return optionspu;
    }
    catch (Exception e){e.printStackTrace();
    return null;}
}
Run Code Online (Sandbox Code Playgroud)

================================================= onClick method ...(optionsPopup是PopupWindow类型的全局变量)

 @Override
public void onClick(View v) {
               switch (v.getId()) { 
        case R.id.options:
                optionsPopup=showOptions(this);
            break;  
}
Run Code Online (Sandbox Code Playgroud)

android android-popupwindow

44
推荐指数
4
解决办法
6万
查看次数

标签 统计

android ×1

android-popupwindow ×1