Текстовое представление в центре ниже изображения просмотра Android - PullRequest
0 голосов
/ 31 августа 2018

как дела сегодня.

Я хочу знать кое-что, где я застрял сегодня. Я получаю json изображения и текста в списке, и мое изображение круглое. Когда я получаю изображение с текстом, оно выглядит так плохо, потому что текст не находится в центре под изображением. много искал по этому, но я не нашел. Я просто нашел гравитацию "центр" и центр в родительском "true", я попробовал оба из них, но я не нашел решения. Мой код: -

<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"
tools:context=".MainActivity>


<de.hdodenhof.circleimageview.CircleImageView
    android:layout_width="110dp"
    android:layout_height="110dp"
    android:layout_marginTop="70dp"
    android:layout_marginStart="15dp"
    android:id="@+id/img_design" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/img_design"
    android:id="@+id/design_color"
    android:text=" "
    android:layout_centerInParent="true"
    android:textStyle="bold"
    android:textSize="15sp" />
</RelativeLayout>

Я хочу, чтобы этот текст автоматически устанавливался в середине изображения, потому что длина текста не фиксирована:

         IMAGEVIEW
           text

Пожалуйста, направьте меня, предложите мне и дайте решение этой проблемы, и если у вас есть какие-либо вопросы в моем вопросе, то, пожалуйста, спросите меня.

Ответы [ 7 ]

0 голосов
/ 31 августа 2018

Вы можете заменить свой макет приведенным ниже кодом XML.

Здесь не нужно брать дополнительный макет.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true">

<de.hdodenhof.circleimageview.CircleImageView
    android:id="@+id/img_design"
    android:layout_width="110dp"
    android:layout_height="110dp"
    android:layout_marginStart="15dp"
    android:layout_marginEnd="15dp"
    android:layout_marginTop="10dp"
    tools:src="@drawable/profile_sidemenu"/>

<TextView
    android:id="@+id/design_color"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp"
    android:layout_below="@+id/img_design"
    android:layout_centerInParent="true"
    tools:text="This is sample text"
    android:textSize="15sp"
    android:textStyle="bold" />
</RelativeLayout>

Выход:

Layout of above code

0 голосов
/ 31 августа 2018

используйте это, я надеюсь, это будет работать как шарм. создайте и разделите родителя для изображений и текстового обзора, как показано ниже, и попробуйте .. используйте свой круговой просмотр изображений, который вы используете

введите код здесь // schemas.android.com / apk / res / android " XMLNS: приложение = "http://schemas.android.com/apk/res-auto" Xmlns: инструменты = "http://schemas.android.com/tools" андроид: layout_width = "match_parent"

android:layout_height="wrap_content">


<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

<ImageView
    android:id="@+id/img_design"
    android:layout_width="110dp"
    android:layout_height="110dp"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:src="@color/white"
      />

<TextView
    android:id="@+id/textView7"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="16dp"
    android:text="TextView"
     android:layout_centerInParent="true"
    android:layout_below="@+id/img_design" />
</RelativeLayout>

0 голосов
/ 31 августа 2018

Попробуйте ниже XML-код

<LinearLayout
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:orientation="vertical"
android:layout_height="match_parent"
tools:context=".MainActivity">

<de.hdodenhof.circleimageview.CircleImageView
    android:id="@+id/img_design"
    android:layout_width="110dp"
    android:layout_gravity="center"
    android:layout_marginTop="10dp"
    android:layout_height="110dp" />
<TextView
    android:id="@+id/design_color"
    android:layout_width="wrap_content"
    android:layout_gravity="center"
    android:layout_height="wrap_content" />

</LinearLayout> 
0 голосов
/ 31 августа 2018

попробуйте

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    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="wrap_content">

    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/img_design"
        android:layout_width="110dp"
        android:layout_height="110dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="16dp"
        android:text="TextView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/img_design" />
</android.support.constraint.ConstraintLayout>
0 голосов
/ 31 августа 2018

Попробуйте обернуть <CircleImageView> и <TextView> в <LinearLayout> с вертикальной ориентацией и центром <LinearLayout>

0 голосов
/ 31 августа 2018

Ваш макет будет работать, если вы сохраните ширину как wrap_content для вашего родственника и android:layout_centerHorizontal="true" для TextView вместо центра в родительском элементе. Если вы хотите полноэкранный режим, используйте макет ниже

 <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">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/img_design"
            android:layout_width="110dp"
            android:layout_height="110dp"
            android:layout_marginStart="15dp"
            android:layout_marginTop="70dp" />

        <TextView
            android:id="@+id/design_color"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text=" "
            android:textSize="15sp"
            android:textStyle="bold" />
    </LinearLayout>
</RelativeLayout>
0 голосов
/ 31 августа 2018

Просто глядя на код, _android: layout_centerInParent_ не имеет смысла для меня, и вы хотите вместо этого центрировать текст по горизонтали. Кроме того, если вы хотите, чтобы и круговое изображение, и текст были группой, которая центрирована в их родительском элементе, вы должны добавить еще один макет, который будет оборачиваться вокруг обоих, и центрировать его в родительском элементе.

...