图像顶部的Android按钮不起作用

Posted

技术标签:

【中文标题】图像顶部的Android按钮不起作用【英文标题】:Android button on top of image not working 【发布时间】:2015-05-16 08:18:45 【问题描述】:

布局是:在视图显示图像的顶部和图像的顶部,在右上角显示位置-永久按钮(同时向下滚动查看图像下方的文本-位置是固定的)。它不起作用:按钮隐藏在图像下方,只有当我向下滚动到文本的白色背景时,我才能看到按钮。这是代码。该按钮是自定义形状:椭圆形,以图像为背景。我还尝试将 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_
    android:layout_
    tools:context="com.example.MainActivity" >

    <Button
        android:id="@+id/btn1"
        android:layout_
        android:layout_
        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_
        android:layout_>

        <LinearLayout
            android:layout_
            android:layout_
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/image1"
                android:layout_
                android:layout_
                android:adjustViewBounds="true"
                android:src="@drawable/picture1" />

            <TextView
                android:layout_
                android:layout_ />

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

【问题讨论】:

【参考方案1】:

据我所知,你的问题已经解决了,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
tools:context="com.example.MainActivity" >


<ScrollView 
    android:layout_
    android:layout_>

    <LinearLayout
        android:layout_
        android:layout_
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/image1"
            android:layout_
            android:layout_
            android:adjustViewBounds="true"
            android:src="@drawable/picture1" />

        <TextView
            android:layout_
            android:layout_ />

    </LinearLayout>

</ScrollView>
<Button
    android:id="@+id/btn1"
    android:layout_
    android:layout_
    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>

【讨论】:

【参考方案2】:

如果您希望按钮显示在顶部,我相信您应该在声明滚动视图后声明该按钮。所以只需改变按钮和滚动视图之间的位置。如果我没错的话。

【讨论】:

以上是关于图像顶部的Android按钮不起作用的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的轮播顶部的按钮不起作用?

弹出框内的按钮不起作用

为啥顶部栏中的搜索在 android studio 中不起作用?

移至顶部功能在 kineticJs 中不起作用 [关闭]

CSS :hover on button 在已经悬停的 div 中不起作用

片段隐藏在Android中不起作用