我尝试做一些简单的事情 - 我有一个自定义的LinearLayout视图,我希望使用TranslateAnimation在屏幕上移动。为了测试基本情况,我将代码放在自定义视图的构造函数中,以便在创建后立即进行翻译。但没有任何反应,而且观点仍然存在。知道为什么吗?我已粘贴以下相关代码:
我的自定义LinearLayout视图:
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.my_view, this);
mText = (TextView) findViewById(R.id.my_text);
mImage = (ImageView) findViewById(R.id.my_picture);
//Test simple translate animation
TranslateAnimation translateMyView = new TranslateAnimation(10, 10, 5, 5);
translateMyView.setFillAfter(true);
translateMyView.setDuration(1000);
this.startAnimation(translateMyView);
}
此自定义视图的XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/border">
<TextView
android:id="@+id/my_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Example Text"/>
<ImageView
android:id="@+id/my_picture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
</LinearLayout>
我在主要活动的视图中添加此视图的方式:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}"
android:id="@+id/main_view">
<com.pratikthaker.MyView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
我错过了什么?