#java #android #xml #android-layout #layout
#java #Android #xml #android-layout #макет
Вопрос:
Я попытался добавить подпрыгивающую точечную загрузку, используя эту библиотеку com.wang.avi: библиотека:2.1.3
Но представление всегда находится «слева»
Это мой XML-код
<LinearLayout
android:id="@ id/linear7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal|center_vertical"
android:orientation="vertical"
android:layout_gravity="center_horizontal|center_vertical">
<com.wang.avi.AVLoadingIndicatorView
android:id="@ id/here"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp"
android:gravity="center_horizontal|center_vertical"
android:orientation="horizontal"
app:indicatorName="BallPulseIndicator"
app:indicatorColor="#FF9800"/>
</LinearLayout>
Комментарии:
1. @Aman я не думаю, что для этого нужен файл gradle, ему просто нужно установить этот макет в центре экрана
Ответ №1:
Попробуйте это. Это должно работать:
<LinearLayout
android:id="@ id/linear7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:layout_gravity="center_horizontal|center_vertical">
<com.wang.avi.AVLoadingIndicatorView
android:id="@ id/here"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:gravity="center_horizontal|center_vertical"
android:orientation="horizontal"
app:indicatorName="BallPulseIndicator"
app:indicatorColor="#FF9800"/>
</LinearLayout>
Ответ №2:
Вы также можете поместить все это в RelativeLayout и установить
android:layout_centerInParent="true"
Ответ №3:
Вы можете использовать линейную компоновку или относительную компоновку, какую вам удобно.
Используйте add this below line для линейной компоновки,
<LinearLayout
android:id="@ id/linear7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal|center_vertical|start"
android:orientation="vertical"
android:layout_gravity="center_horizontal|center_vertical">
<ImageView
android:id="@ id/here"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:src="@drawable/ic_launcher_background"
android:gravity="center_horizontal|center_vertical|start"
android:orientation="horizontal"/>
</LinearLayout>
Для относительного макета просто добавьте приведенный ниже код:
<RelativeLayout
android:id="@ id/linear7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:orientation="vertical"
android:layout_gravity="center_horizontal|center_vertical">
<ImageView
android:id="@ id/here"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
android:src="@drawable/ic_launcher_background"
android:layout_alignParentStart="true"
android:orientation="horizontal"/>
</RelativeLayout>
Спасибо
Ответ №4:
для этого, я думаю, лучше использовать RelativeLayout с layout_centerInParent для дочернего элемента, подобного этому:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.wang.avi.AVLoadingIndicatorView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center_horizontal|center_vertical"
android:orientation="horizontal"
app:indicatorName="BallPulseIndicator"
app:indicatorColor="#FF9800"/>
</RelativeLayout>
но для LinearLayout, я думаю, вашу проблему можно решить, установив ширину и высоту "wrap_content"
макета AVLoadingIndicatorView или постоянное значение.