如何在android studio中将图像放置在线性布局的边框上

时间:2018-10-04 08:04:14

标签: android xml android-layout

我想将书签的图像放在线性布局的底部边框上。基本上,这是一个书签按钮类型,我的线性布局包含一个问题,图像是一个书签按钮。当用户单击它时,问题将被保存。但是,如何在线性布局的边界上添加图像?这是我要设计的布局。

enter image description here

有人可以告诉我该怎么做吗?它的xml代码是什么。

2 个答案:

答案 0 :(得分:1)

据我的理解,如果您想进行重叠视图(如问题中所描述的书签),则应使用 ConstraintLayout ,而不要使用 LinearLayout RelativeLayout 或其他任何布局,因为通过使用 ConstraintLayout ,您可以轻松创建重叠的视图,使用它们。

如果您对 ConstraintLayout 有所了解,下面的代码应该可以解决您的问题。

1] activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<!--  res/layout/activity_main.xml  -->

<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView"
        android:layout_width="350dp"
        android:layout_height="wrap_content"
        android:text="1.  Who was the first prime minister of India?"
        android:textColor="@android:color/black"
        android:textStyle="bold|italic"
        android:textSize="24sp"
        android:paddingTop="10dp"
        android:paddingStart="25dp"
        android:paddingEnd="25dp"
        android:paddingBottom="35dp"
        android:background="@drawable/drawable_for_bookmark_view"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@android:drawable/btn_star"
        android:contentDescription="Bookmark Icon"
        android:tint="@android:color/black"
        app:layout_constraintStart_toStartOf="@id/textView"
        app:layout_constraintTop_toBottomOf="@id/textView"
        app:layout_constraintEnd_toEndOf="@id/textView"
        app:layout_constraintBottom_toBottomOf="@id/textView"
        app:layout_constraintHorizontal_bias="0.95" />

</android.support.constraint.ConstraintLayout>

2] drawable_for_bookmark_view.xml

<?xml version="1.0" encoding="utf-8"?>

<!--  res/drawable/drawable_for_bookmark_view.xml  -->

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <stroke
        android:color="#000"
        android:width="3dp" />

    <corners
        android:radius="7dp" />

</shape>

3]另外,在build.gradle(Module:app)文件中添加 ConstraintLayout 的此依赖项;在依存关系块中,例如:

dependencies {
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
}

(上述代码的)屏幕截图:

enter image description here

希望对您有帮助。

答案 1 :(得分:0)

检查

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="#000">
        </LinearLayout>
        <ImageView
            android:src="@android:drawable/btn_plus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:layout_gravity="end"
            />
    </FrameLayout>