android 如何在相对布局中并排放置的两个子元素之间给予空间?

nukf8bse  于 2023-04-28  发布在  Android
关注(0)|答案(3)|浏览(116)

我的xml代码:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp"
    android:gravity="center"
    android:background="@drawable/layout_border"
    android:layout_marginTop="10dp">
    <com.github.barteksc.pdfviewer.PDFView
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:id="@+id/pdf_preview" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView"
        android:textColor="@color/white"
        android:text="select birth certificate"
        android:gravity="center"
        android:fontFamily="sans-serif-smallcaps"
        android:layout_alignTop="@id/pdf_preview"
        android:layout_alignBottom="@id/pdf_preview"
        android:layout_alignLeft="@id/pdf_preview"
        android:layout_alignRight="@id/pdf_preview" />
    <ImageView
        android:id="@+id/select_image"
        android:padding="5dp"
        app:tint="@color/white"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/textView"
        android:layout_alignBottom="@id/textView"
        android:layout_alignLeft="@id/textView"
        android:src="@drawable/baseline_attach_file_24" />
</RelativeLayout>

我的输出:enter image description here
正如你在我的输出中所看到的,图标和文本粘在一起。我想在它们之间给予一点空间。我该如何继续?请指导我。

ecfsfe2w

ecfsfe2w1#

您可以使用android:layout_toRightOf="@id/select_image"对齐textView,然后使用android:layout_marginStart=""调整图像和textView之间的边距。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="10dp"
    android:background="@drawable/background_black_border"
    android:gravity="center"
    android:padding="5dp">

    <com.github.barteksc.pdfviewer.PDFView
        android:id="@+id/pdf_preview"
        android:layout_width="200dp"
        android:layout_height="match_parent" />

    <ImageView
        android:id="@+id/select_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/textView"
        android:layout_alignBottom="@id/textView"
        android:padding="5dp"
        android:src="@drawable/ic_add" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginStart="15dp"
        android:layout_toRightOf="@id/select_image"
        android:fontFamily="sans-serif-smallcaps"
        android:text="select birth certificate"
       android:textColor="@color/white" />
</RelativeLayout>
envsm3lx

envsm3lx2#

您可以使用android:layout_margin属性来实现这一点。也可以使用android:padding属性。如果您想了解更多关于padding和margins的工作原理,请参阅link

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp"
android:gravity="center"
android:background="@drawable/layout_border"
android:layout_marginTop="10dp">
<com.github.barteksc.pdfviewer.PDFView
    android:layout_width="200dp"
    android:layout_height="match_parent"
    android:id="@+id/pdf_preview" />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textView"
    android:textColor="@color/white"
    android:text="select birth certificate"
    android:gravity="center"
    android:fontFamily="sans-serif-smallcaps"
    android:layout_alignTop="@id/pdf_preview"
    android:layout_alignBottom="@id/pdf_preview"
    android:layout_alignLeft="@id/pdf_preview"
    android:layout_alignRight="@id/pdf_preview" />
<ImageView
    android:id="@+id/select_image"
    android:padding="5dp"
    app:tint="@color/white"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marign="5dp"
    android:layout_alignTop="@id/textView"
    android:layout_alignBottom="@id/textView"
    android:layout_alignLeft="@id/textView"
    android:src="@drawable/baseline_attach_file_24" />
zphenhs4

zphenhs43#

将View标记替换为com.github.barteksc.pdfviewer.PDFView

<?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"
        android:layout_marginTop="10dp"
        android:padding="5dp">
    
        <View
            android:id="@+id/view"
            android:layout_width="200dp"
            android:layout_height="200dp"
            />
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toEndOf="@id/select_image"
            android:fontFamily="sans-serif-smallcaps"
            android:gravity="center"
            android:layout_alignTop="@id/view"
            android:layout_alignBottom="@id/view"
            android:layout_alignEnd="@id/view"
            android:text="select birth certificate"
            android:textColor="@color/color_cta" />
    
        <ImageView
            android:id="@+id/select_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:layout_alignTop="@id/textView"
            android:layout_alignBottom="@id/textView"
            android:src="@drawable/cf_ic_card" />
    
    </RelativeLayout>

相关问题