#android
#Android
Вопрос:
Я разрабатываю игру-викторину для Android.
Когда пользователь отвечает на первый вопрос, я открываю это диалоговое окно, чтобы показать его прогресс:
Это макет:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/txtLevel1"
android:layout_alignTop="@ id/txtLevel1"
android:layout_centerInParent="true"
android:background="@color/orange" />
<TextView
android:id="@ id/txtLevel3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="5.000" />
<TextView
android:id="@ id/txtLevel2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@ id/txtLevel3"
android:text="2.500"/>
<TextView
android:id="@ id/txtLevel1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@ id/txtLevel2"
android:text="1.000"/>
</RelativeLayout>
Есть ли какой-либо способ переместить View
элемент (оранжевую рамку) с txtLevel1
(1.000 точек) на txtLevel2
(2.500 точек), возможно, с анимацией / переходом, а не статически?
Комментарии:
1. Если вы можете использовать jquery для своих объектов, вы могли бы просто изменить дочерние элементы родительского объекта. Это не анимировало бы его само по себе, но должны быть параметры, которые вы можете вызвать, чтобы это происходило «медленно».
2. Это может вам помочь: github.com/brucetoo/PickView .
Ответ №1:
Вы могли бы попробовать это, чтобы переместить оранжевую рамку с txtLevel1 на txtLevel2:
View orangeBox = getActivity().findViewById(R.id.orange_box);
TextView tv = getActivity().findViewById(R.id.txtLevel2);
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(300, RelativeLayout.LayoutParams.WRAP_CONTENT);
p.addRule(RelativeLayout.ALIGN_BOTTOM, tv.getId());
p.addRule(RelativeLayout.ALIGN_TOP, tv.getId());
orangeBox.setLayoutParams(p);
Для анимации это может вам помочь.
Комментарии:
1. Ссылка помогла мне! Спасибо