Как установить вид макета тяжести на Xml на Android?

#java #android #xml #android-layout #layout

#java #Android #xml #android-layout #макет

Вопрос:

Я попытался добавить подпрыгивающую точечную загрузку, используя эту библиотеку com.wang.avi: библиотека:2.1.3

Но представление всегда находится «слева» Но представление всегда находится quot;слеваquot;

Это мой 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 или постоянное значение.