- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 ImageView 上启动 Shiny 效果动画。问题是动画没有显示在屏幕上。
只有当我在按钮监听器中启动它时它才有效。
这是我的 shine_effect.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:centerColor="#beffffff"
android:endColor="#00ffffff"
android:startColor="#00ffffff" />
</shape>
这是我的布局 xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="170dp"
android:layout_height="170dp"
android:layout_centerInParent="true">
<ImageView
android:id="@+id/img"
android:layout_width="170dp"
android:layout_height="170dp"
android:contentDescription="@string/desc"
android:src="@drawable/logo" />
<ImageView
android:id="@+id/shine"
android:layout_width="50dp"
android:layout_height="170dp"
android:layout_marginStart="-50dp"
android:contentDescription="@string/desc"
android:src="@drawable/shine_effect" />
</RelativeLayout>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/relativeLayout"
android:layout_centerHorizontal="true"
android:layout_marginTop="43dp"
android:text="@string/pending"
android:textColor="@android:color/white" />
</RelativeLayout>
和我的 Activity onCreate 方法:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chat_pending);
img=(ImageView)findViewById(R.id.img) ;
shine=(ImageView)findViewById(R.id.shine) ;
shine_anim=new TranslateAnimation(0, img.getWidth()+ shine.getWidth(),0,
0);
shine_anim.setDuration(550);
shine_anim.setFillAfter(true);
shine_anim.setRepeatMode(Animation.RESTART);
shine_anim.setInterpolator(new AccelerateDecelerateInterpolator());
shine_anim.setRepeatMode(Animation.INFINITE);
shine.startAnimation(shine_anim);
}
最佳答案
因为 ImageView
还没有布局,所以宽度为0。你可以给它一个布局循环,然后开始动画。
img.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
img.getViewTreeObserver().removeOnGlobalLayoutListener(this);
// Create and start animation
}
});
或者,如果您的图像宽度始终是静态的,您可以将例如170dp 到 px,并在创建 TranslateAnimation
时使用该值,而不是使用 View 的 getWidth()
方法。
关于Android -TranslateAnimation 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49049799/
我想为 fragment 过渡制作自己的动画。我希望它从底部快速进入,然后在到达其位置时减速。我过去做过类似的事情,但我没有代码了,我也无法重现它:/我记得它与插值器有关。 这是我当前的动画集
我的设备分辨率是1080*1920(纵向),我的webview尺寸是1080*960 我在 WebView 上使用 TranslateAnimation 将其翻译从 y=0 到 y=960。 Tran
我有一个关于 TranslateAnimation 的问题。是否可以强制动画发生在其他观点之上?我试图在 LinearLayout 中将第一个子元素平移到其他元素之上。 我以为 setZAdjustm
我的 TranslateAnimation 有效,但在动画结束时,它会跳回原来的位置。 LinearLayout rl = (LinearLayout) findViewById(R.
我正在尝试创建移动图像的动画。 让我们看看以下内容(例如屏幕上的图像位置): 01 02 03 04 如果我从01移动到02,03移动到04,01> 到 03,02 到 04,TranslateAni
我正在尝试在 ImageView 上启动 Shiny 效果动画。问题是动画没有显示在屏幕上。 只有当我在按钮监听器中启动它时它才有效。 这是我的 shine_effect.xml 文件: 这
我尝试在 xml 文件中定义动画,但它没有提供足够的灵 active 。关于如何使它在代码中工作的任何想法。 我的图像消失,然后在动画开始时重新出现。本质上,当我抬起手指时,我需要图像以慢速滑动的方式
我正在开发使用了 TranslateAnimation 的应用程序,但我想将 TranslateAnimation 反转到起始位置。 protected void onCreate(Bundl
如果您在按钮上执行 TranslateAnimation,则只有绘图会移动,而实际按钮不会移动,因此您必须使用动画监听器自己移动按钮。 现在您知道我已经知道和做过的事情了,而且这行得通。 问题在于用户
有没有办法让动画暂停半秒? 我正在尝试使用 TranslateAnimation API 制作无限动画。因此,我将 RepeatCount 用作 Infinite。我还注意到有一个 setStartO
我想为从屏幕中央开始的 ImageView 设置动画,并将其向上移动到屏幕顶部下方 10 像素处。如何在代码中实现这一点? 我目前正在做的是,我正在获取另一个图像上的屏幕坐标,并将这个动画图像稍微放在
我想模拟一个上滑动画。我的想法是在按下按钮时使用 id searchForm 上滑和下滑表格布局,这样我就可以将额外的空间用于列表。我设法向上滑动 searchForm 和按钮,列表似乎是可见的,但在
我使用了一些我为滑动面板找到的代码,基本上它可以工作,但有一个小问题。 动画在面板第一次打开时不起作用。 这是动画的代码: TranslateAnimation anim = null;
我想做的是在 PIXELS 中将多个 View 动画化到特定位置!我为此使用了 TranslateAnimation。我想从显示器的左上角开始制作动画,我相信 x: 0 和 y:0 到可变位置。
我想使用 TranslateAnimation 移动一些线性布局。我有两个问题。我的基础 SDK 是 Android 2.2。 即使动画结束,线性布局中的可触摸区域也没有移动。 动画结束后屏幕闪烁了几
我正在尝试在单击时移动按钮(带动画)。我希望它在第一次单击时将 100 像素移动到底部,在第二次单击时将 100 像素向上移动,在第三次单击时将 100 像素移动到底部,依此类推。我有简单的布局文件(
我正在创建类似于 SlideDrawer 的东西,但具有大多数自定义功能,基本上可以正常工作,但动画最后会闪烁。 为了进一步解释,我得到了一个 TranslateAnimation,然后在这个动画之后
我现在很绝望,我真的需要一些帮助。我想要一个图像从屏幕右侧移入其中。 最初,图像存在于屏幕区域之外。但是,基于一个事件,我希望它滑入。 有谁知道如何做到这一点?我在网上的教程(http://devel
如何使用平移动画获取移动 View 的位置。 TranslateAnimation animation = new TranslateAnimation(0.0f, 300.0f,
我正在尝试制作这样的动画: 上下文: 我有两个 EditText,我需要当你点击一个时,另一个从第一个后面出现。在这里你有一些图片来获得我想要的图像。 显然,要做到这一点,我需要一个 Translat
我是一名优秀的程序员,十分优秀!