Я хочу добавить вид в основной макет и анимировать его сразу после добавления. Но вместо этого он вращается вокруг себя, вращается вокруг чего-то другого (похоже, он вращается вокруг x = 0 и y = 0).
Добавление кода и анимация собственного RelativeLayout:
CustomRL cRL = new CustomRL(mContext);
cRL.setLayoutParams(new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
RelativeLayout main = findViewById(R.id.main);
main.addView(cRL);
RotateAnimation animation = new RotateAnimation(0,360,
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
animation.setDuration(1000);
cRL.startAnimation(animation);
Main XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:fitsSystemWindows="true"
tools:context=".MainActivity"
android:id="@+id/main">
<!-- includes unnecessary stuff -->
</RelativeLayout>
Custom RelativeLayout Java:
public class CustomRL extends RelativeLayout {
private Context mContext;
private View mView;
LayoutInflater mInflater;
public CustomRL(Context context) {
super(context);
mContext = context;
mView = mInflater.inflate(R.layout.c_rl, this, true);
}
}
Custom Относительная компоновка XML: (c_rl. xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/width"
android:layout_height="@dimen/height">
<!-- includes unnecessary stuff -->
</RelativeLayout>
размерность:
<dimen name="width">70dp</dimen>
<dimen name="height">130dp</dimen>
Почему он не вращается вокруг себя и как я могу решить эту проблему?
Редактировать:
Добавлен дополнительный код и исправлен вид в CustomRelativeLayout