Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按钮顶部的图像视图_Java_Android_Android Layout - Fatal编程技术网

Java 按钮顶部的图像视图

Java 按钮顶部的图像视图,java,android,android-layout,Java,Android,Android Layout,我试图把一个小的图像视图放在一个按钮的顶部,但不知怎么的,它一直在它下面。我不明白为什么,因为这种布局与其他视图配合得很好 <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="match_

我试图把一个小的图像视图放在一个按钮的顶部,但不知怎么的,它一直在它下面。我不明白为什么,因为这种布局与其他视图配合得很好

 <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/background_white_clickable"
                android:text="@string/book_now"
                android:id="@+id/but_book_now"
                 />

            <ImageView
                android:layout_width="35dp"
                android:layout_height="35dp"
                android:id="@+id/img_bookmark"
                android:src="@drawable/ic_action_bookmark_full"
                android:layout_marginRight="15dp"
                android:layout_marginEnd="15dp"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true" />

        </RelativeLayout>

我尝试过使用不同的按钮背景,但是只有当它是透明的时候才能看到图像。我还尝试用彩色视图替换ImageView,但仍然不起作用

有什么想法吗?Thx

编辑:

我得到的答案有点混乱,我的意思是将ImageView按Z顺序放置在按钮顶部,而不是y轴

编辑2:

我不想使用图像按钮,图像只是按钮上会出现/消失的“pin”。 我不想在按钮上使用绘图工具,我需要把它放在我想要的地方。 使用FrameLayout而不是RelativeLayout不会改变任何东西。 使用imgView.bringToFront()不起作用

编辑3:

在棒棒糖出现之前,这个问题不会出现在设备上。在KitKat上,布局按预期工作。

试试看

findViewById(R.id.img_bookmark).bringToFront();

请在下面添加按钮属性的布局。\u

您需要在imageview下面设置按钮,以便:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/background_white_clickable"
        android:text="@string/book_now                     
        android:id="@+id/but_book_now"
        android:layout_below="@+id/img_bookmark"/>

    <ImageView
        android:layout_width="35dp"
        android:layout_height="35dp"
        android:id="@+id/img_bookmark"
        android:src="@drawable/ic_action_bookmark_full"
        android:layout_marginRight="15dp"
        android:layout_marginEnd="15dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />
</RelativeLayout>

示例代码:

<RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ImageView
            android:id="@+id/img_bookmark"
            android:layout_width="35dp"
            android:layout_height="35dp"
            android:layout_alignParentRight="true"
            android:src="@drawable/ic_launcher" />

        <Button
            android:id="@+id/but_book_now"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/img_bookmark"
            android:text="Test" />
    </RelativeLayout>

注意:

根据您的需要编辑文本和src


<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="80dp" >
<Button
    android:id="@+id/filter"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="7dp"
    android:background="#0000FF"
    android:gravity="center"
    android:paddingBottom="25dp"
    android:paddingTop="25dp"
    android:text="Sort"
    android:textColor="#FFFFFF" />

<ImageView
android:id="@+id/widget_title_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|right"
android:adjustViewBounds="true"
android:paddingTop="-10dp"
android:scaleType="fitStart"
android:src="@drawable/ic_launcher" />

    </FrameLayout>

试试看,虽然我还没有测试过。

如果您想使用按钮查看图像:

    <Button
        android:id="@+id/but_book_now"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/ic_launcher"
        android:background="#ff00ff"
        android:text="This is button"
        android:padding="10dp"
        android:textColor="#ffff00" 
        />

</RelativeLayout>
<LinearLayout 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:gravity="center"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/but_book_now"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_launcher"
        android:text="This is button"
        android:padding="10dp"
        android:textColor="#ffff00" 
        />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#ff00ff"
        android:text="This is button"
        android:padding="10dp"
        android:textColor="#ffff00" 
        />

</LinearLayout>



如果要查看不带按钮的图像:

    <Button
        android:id="@+id/but_book_now"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/ic_launcher"
        android:background="#ff00ff"
        android:text="This is button"
        android:padding="10dp"
        android:textColor="#ffff00" 
        />

</RelativeLayout>
<LinearLayout 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:gravity="center"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/but_book_now"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_launcher"
        android:text="This is button"
        android:padding="10dp"
        android:textColor="#ffff00" 
        />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#ff00ff"
        android:text="This is button"
        android:padding="10dp"
        android:textColor="#ffff00" 
        />

</LinearLayout>


您可以将RelativeLayout定义为一个按钮,并在其上添加ClickEvents,添加带有颜色的子视图或带有PNG的子ImageView,或任何内容或两者,以在其上放置图像或颜色

范例

            <FrameLayout android:id="@+id/buttonTextFillColor"
                android:layout_width="@dimen/mini_icon_width"
                android:layout_height="@dimen/mini_icon_height"
                android:background="@drawable/input_button_background"
                android:clickable="true">
                <View
                    android:id="@+id/colorTextFillColor"
                    android:layout_width="23dp"
                    android:layout_height="23dp"
                    android:background="#FFFFFF"
                    android:layout_gravity="center" />
                <ImageView
                    android:layout_width="23dp"
                    android:layout_height="23dp"
                    android:src="@drawable/button_fill_text"
                    android:layout_gravity="center"/>
            </FrameLayout>

您将获得元素的并集:


您需要将图像放在按钮顶部?您尝试过ImageButton吗?如果您想在按钮上显示图像,ImageButton可能是一个更好的主意。无论如何,在相对布局中,z顺序是按文件中视图的顺序完成的。因此,如果图像是第二次定义的,它应该绘制在按钮的顶部。我们可能很难准确理解您想要什么,您拥有和想要什么的图片将是一个好主意。@阴影是的,在顶部按z顺序,而不是y轴。找到解决方法。将ImageView的高程设置为1dp。看看这个。威德。尝试
findviewbyd(R.id.img_书签).invalidate()bringToFront()
之后添加code>。您能否添加有关所提供解决方案的更多详细信息?