Android Studio:图片背后的图片
Android Studio: Images behind other images
我正在尝试做的事情在理论上似乎非常基础,但在网上找不到任何相关信息。我有一系列可点击的图像按钮,包含图像。我希望这样当用户单击这些图像按钮之一时,它会以简单的边框突出显示。
为此,我创建了一个基本的纯色 62x62 像素图像,并希望将它放在我原来的 60x60 图像按钮的后面。这将产生边界的错觉。我的计划是默认将其设置为不可见,然后让代码将其设置为点击时可见。听起来很直接。
但是,在我的布局中,纯色图像总是位于原始图像之上,我找不到任何方法将其发送到后面。我宁愿不在代码中这样做,我确信这是一个布局问题(但如果绝对必要,我会在代码中设置它)。
布局的相关部分,其中 ImageView 需要位于播放器 1 ImageButton 的后面:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
android:paddingBottom="20dp" tools:context=".MainActivity"
android:id="@+id/Form_PlayerSelection"
android:background="@drawable/dark_wood">
<ImageButton
android:id="@+id/btnPlayer1"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/player_blank"
android:adjustViewBounds="false"
android:clickable="true"
android:cropToPadding="false"
android:padding="0dp"
android:scaleType="fitXY"
android:layout_marginLeft="15dp"
android:layout_marginTop="50dp" />
<ImageView
android:id="@+id/p1border"
android:layout_width="62dp"
android:layout_height="62dp"
android:src="@drawable/selectborder"
android:clickable="false"
android:cropToPadding="false"
android:padding="0dp"
android:scaleType="fitXY"
android:layout_marginLeft="13dp"
android:layout_marginTop="48dp"/>
<ImageButton
android:id="@+id/btnPlayer2"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/player_blank"
android:adjustViewBounds="false"
android:clickable="true"
android:cropToPadding="false"
android:padding="1dp"
android:scaleType="fitXY"
android:layout_marginLeft="85dp"
android:layout_marginTop="50dp" />
</RelativeLayout>
每个 child 按顺序添加到 ViewGroup 的顶部。因此,底部元素应该是您的第一个 child.
我正在尝试做的事情在理论上似乎非常基础,但在网上找不到任何相关信息。我有一系列可点击的图像按钮,包含图像。我希望这样当用户单击这些图像按钮之一时,它会以简单的边框突出显示。
为此,我创建了一个基本的纯色 62x62 像素图像,并希望将它放在我原来的 60x60 图像按钮的后面。这将产生边界的错觉。我的计划是默认将其设置为不可见,然后让代码将其设置为点击时可见。听起来很直接。
但是,在我的布局中,纯色图像总是位于原始图像之上,我找不到任何方法将其发送到后面。我宁愿不在代码中这样做,我确信这是一个布局问题(但如果绝对必要,我会在代码中设置它)。
布局的相关部分,其中 ImageView 需要位于播放器 1 ImageButton 的后面:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
android:paddingBottom="20dp" tools:context=".MainActivity"
android:id="@+id/Form_PlayerSelection"
android:background="@drawable/dark_wood">
<ImageButton
android:id="@+id/btnPlayer1"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/player_blank"
android:adjustViewBounds="false"
android:clickable="true"
android:cropToPadding="false"
android:padding="0dp"
android:scaleType="fitXY"
android:layout_marginLeft="15dp"
android:layout_marginTop="50dp" />
<ImageView
android:id="@+id/p1border"
android:layout_width="62dp"
android:layout_height="62dp"
android:src="@drawable/selectborder"
android:clickable="false"
android:cropToPadding="false"
android:padding="0dp"
android:scaleType="fitXY"
android:layout_marginLeft="13dp"
android:layout_marginTop="48dp"/>
<ImageButton
android:id="@+id/btnPlayer2"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/player_blank"
android:adjustViewBounds="false"
android:clickable="true"
android:cropToPadding="false"
android:padding="1dp"
android:scaleType="fitXY"
android:layout_marginLeft="85dp"
android:layout_marginTop="50dp" />
</RelativeLayout>
每个 child 按顺序添加到 ViewGroup 的顶部。因此,底部元素应该是您的第一个 child.