我正在使用启动画面。我想要一个动画图像视图(从左到右)。我的代码确实有效,但滚动以黑色开始..
我想要的是从整个图像开始制作动画。
为了清楚地理解这里是我的截图:
我的问题:
我的目标输出
public class splash extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
ImageView img_animation = (ImageView) findViewById(R.id.img_animation);
TranslateAnimation animation = new TranslateAnimation(0, 720, 239, 0);
animation.setDuration(10000);
animation.setFillEnabled(true);
img_animation.startAnimation(animation);
}
}
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".Animation" >
<ImageView
android:id="@+id/img_animation"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/splash_1"
android:scaleType="centerCrop" />
</RelativeLayout>
答案 0 :(得分:1)
使用 FrameLayout 将imageview定位到视图开始并获取imageview width = y和screen width = x然后设置动画 y-x 。
您可以使用 ObjectAnimator 。这个 nineoldandroid 库和默认的android 对象动画非常相同。
int[] rani = {0,1,2,3,0,0,1,1,0,0};
int[] um = {0,0,0,0,0,0,0,0,0,0};
答案 1 :(得分:0)
我认为如果将RelativeLayout和ImaveView的宽度设置为wrap_content并设置imaveview的adjustViewBound&#34; true&#34;它会起作用