如何获得其父视图之外的视图的一部分?

时间:2018-10-04 07:17:13

标签: java android android-layout

我试图创建一个像这样的actionBar,“这是一个网站模板”

所以我创建了一个文件action_bar.xml,我将为其充气,一个RelativeLayout,高度为wrap_content,宽度为match_parent,它带有齿轮图标以及所有其他详细信息,除了我无法像RelativeLayout之外获得圆形图片的一部分。

我尝试使用页边距,但是它没有脱离RelativeLayout,而是扩展了RelativeLayout。因此,图片中更多的margin会导致RelativeLayout中的高度更高。 有什么建议么?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageButton android:src="@drawable/roundPicture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="30sp"
        android:layout_marginLeft="30sp"
        android:padding="0sp"/>

    <ImageButton
        android:id="@+id/gearIcon"
        android:layout_alignParentRight="true"
        android:background="@drawable/gearICON"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10sp"
        />
</RelativeLayout>

请不要使用图书馆,我不是在开发应用,而是在试图理解。

快速回顾。我想要ImageButton之外的第一个RelativeLayout的一部分

2 个答案:

答案 0 :(得分:1)

检查是否正是您要寻找的

编辑:

<?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="match_parent"
android:background="#000">
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#fff">

    <ImageButton
        android:id="@+id/gearIcon"
        android:layout_alignParentRight="true"
        android:background="@android:drawable/ic_delete"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10sp"
        />
</RelativeLayout>
<ImageButton
    android:background="@android:drawable/ic_delete"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="30sp"
    android:layout_marginLeft="30sp"
    android:padding="0sp"/>
</FrameLayout>

答案 1 :(得分:0)

首先,我遇到一个问题,我的数据出现在ImageView下,而不是在它后面 但是我通过在frameLayout中的relativeLayout之后添加我的数据(即listview)来修复它,感谢P.Juni的想法btw 可以正常运行的XML是

<?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"
    android:background="@android:color/transparent">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#000">

        <ImageButton
            android:id="@+id/gearIcon"
            android:layout_alignParentRight="true"
            android:background="@drawable/ic_launcher_background"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10sp"
            />
    </RelativeLayout>

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent">


    </ListView>

    <ImageButton android:id="@+id/imageButton"
        android:background="@drawable/ic_launcher_background"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="60sp"
        android:layout_marginLeft="30sp"
        android:padding="0sp"/>
</FrameLayout>