Android 图片顶部的按钮不起作用
Android button on top of image not working
布局为:在视图显示图片之上,在图片之上,在右上角显示位置固定按钮(向下滚动图片下方的文字时,位置固定) .它不起作用:按钮隐藏在图像下方,只有当我向下滚动到文本的白色背景时,我才能看到该按钮。这是代码。该按钮是自定义形状:椭圆形,以图像为背景。我还尝试将 android:background="@drawable/btn1_shape" 更改为 android:src= "@drawable/btn1_shape" 也没有用。我说的是 pre 数学主题设计(带有 Z 值等),因为我需要支持向后兼容性...
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.MainActivity" >
<Button
android:id="@+id/btn1"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="30dp"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/btn1_shape" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/image1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/picture1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
//Button shape xml: @drawable/btn1_shape
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/primary"/>
</shape>
</item>
<item android:drawable="@drawable/picture2"/>
</layer-list>
如果您希望按钮显示在顶部,我相信您应该在声明滚动视图之后声明按钮。所以只需更改按钮和滚动视图之间的位置。如果我没错的话。
据我了解,您的问题已解决,
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.MainActivity" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/image1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/picture1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/btn1"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="30dp"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/btn1_shape" />
</RelativeLayout>
布局为:在视图显示图片之上,在图片之上,在右上角显示位置固定按钮(向下滚动图片下方的文字时,位置固定) .它不起作用:按钮隐藏在图像下方,只有当我向下滚动到文本的白色背景时,我才能看到该按钮。这是代码。该按钮是自定义形状:椭圆形,以图像为背景。我还尝试将 android:background="@drawable/btn1_shape" 更改为 android:src= "@drawable/btn1_shape" 也没有用。我说的是 pre 数学主题设计(带有 Z 值等),因为我需要支持向后兼容性...
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.MainActivity" >
<Button
android:id="@+id/btn1"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="30dp"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/btn1_shape" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/image1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/picture1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
//Button shape xml: @drawable/btn1_shape
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/primary"/>
</shape>
</item>
<item android:drawable="@drawable/picture2"/>
</layer-list>
如果您希望按钮显示在顶部,我相信您应该在声明滚动视图之后声明按钮。所以只需更改按钮和滚动视图之间的位置。如果我没错的话。
据我了解,您的问题已解决,
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.MainActivity" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/image1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/picture1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/btn1"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="30dp"
android:layout_marginRight="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/btn1_shape" />
</RelativeLayout>