如何在Android中的另一个视图上叠加视图?

时间:2015-02-10 14:27:33

标签: android xml view

我正在尝试使视图覆盖另一个视图。这是我的XML:

 <RelativeLayout
    android:background="@android:color/black"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:weightSum="1"
    android:id="@+id/test"
    android:clipChildren="false"
    android:scrollbarStyle="outsideOverlay" >

    <RadioGroup
        android:id="@+id/radioButtonGroup"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_gravity="center_horizontal"
        android:paddingTop="?android:attr/actionBarSize">

        <RadioButton
            android:button="@null"
            android:checked="true"
            android:contentDescription="ZONA"
            android:background="@drawable/tab_back_selector"
            android:textColor="@color/tab_text_color"
            android:textSize="12sp"
            android:layout_weight="1"
            android:id="@+id/tabZoneHome"
            android:padding="14dp"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="@string/home_tab_zone"
            android:gravity="center"/>


        <RadioButton
            android:button="@null"
            android:contentDescription="VISITADAS"
            android:background="@drawable/tab_back_selector"
            android:textColor="@color/tab_text_color"
            android:textSize="12sp"
            android:layout_weight="1"
            android:id="@+id/tabVisitedHome"
            android:padding="14dp"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="@string/home_tab_visited"
            android:gravity="center"
            android:checked="false" />

        <RadioButton
            android:button="@null"
            android:contentDescription="SUGERENCIAS"
            android:background="@drawable/tab_back_selector"
            android:textColor="@color/tab_text_color"
            android:textSize="12sp"
            android:layout_weight="1"
            android:id="@+id/tabSuggestionsHome"
            android:padding="14dp"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="@string/home_tab_suggestions"
            android:gravity="center"
            android:checked="false" />

    </RadioGroup>


    <FrameLayout
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/radioButtonGroup" />

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="6dp"
        android:background="@drawable/quickview_top_gradient"/>


    <ImageView
        android:id="@+id/img"           
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"            
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"    />


</RelativeLayout>

我希望RadioGroup超越frame_container,但到目前为止还没有运气。我在java中尝试了以下内容:

  RadioGroup myButton = (RadioGroup) ((Activity) context).findViewById(R.id.radioButtonGroup);
  RelativeLayout layout = (RelativeLayout)((Activity)context).findViewById(R.id.test);
  layout.bringChildToFront(AdsRecycler.this);
  layout.invalidate();

然而没有任何改变。无线电组不覆盖frame_container。我做错了什么?

4 个答案:

答案 0 :(得分:3)

首先,当您指定时,您认为视图如何相互叠加:

android:layout_below="@+id/radioButtonGroup"

这将始终将FrameLayout移至单选按钮下方。删除此行。

第二个 android按顺序放置项目。所以你的单选按钮是基础层,然后是FrameLayout,依此类推。您想首先放置背景(FrameLayout),然后放置RadioGroup

<RelativeLayout>
    <FrameLayout/>

    <RadioGroup>
        ...
    </RadioGroup>

    ...
</RelativeLayout>

答案 1 :(得分:1)

只需将您的RadioGroup移动到您的XML中的FrameLayout下面。

<RelativeLayout
    android:background="@android:color/black"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:weightSum="1"
    android:id="@+id/test"
    android:clipChildren="false"
    android:scrollbarStyle="outsideOverlay" >

    <FrameLayout
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/radioButtonGroup" />

    <RadioGroup
        android:id="@+id/radioButtonGroup"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_gravity="center_horizontal"
        android:paddingTop="?android:attr/actionBarSize">

        <RadioButton
            android:button="@null"
            android:checked="true"
            android:contentDescription="ZONA"
            android:background="@drawable/tab_back_selector"
            android:textColor="@color/tab_text_color"
            android:textSize="12sp"
            android:layout_weight="1"
            android:id="@+id/tabZoneHome"
            android:padding="14dp"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="@string/home_tab_zone"
            android:gravity="center"/>


        <RadioButton
            android:button="@null"
            android:contentDescription="VISITADAS"
            android:background="@drawable/tab_back_selector"
            android:textColor="@color/tab_text_color"
            android:textSize="12sp"
            android:layout_weight="1"
            android:id="@+id/tabVisitedHome"
            android:padding="14dp"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="@string/home_tab_visited"
            android:gravity="center"
            android:checked="false" />

        <RadioButton
            android:button="@null"
            android:contentDescription="SUGERENCIAS"
            android:background="@drawable/tab_back_selector"
            android:textColor="@color/tab_text_color"
            android:textSize="12sp"
            android:layout_weight="1"
            android:id="@+id/tabSuggestionsHome"
            android:padding="14dp"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="@string/home_tab_suggestions"
            android:gravity="center"
            android:checked="false" />

    </RadioGroup>


    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="6dp"
        android:background="@drawable/quickview_top_gradient"/>


    <ImageView
        android:id="@+id/img"           
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"            
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"    />


</RelativeLayout>

答案 2 :(得分:0)

相对布局根据其他项目的位置排列项目,据我所知,不允许重叠。改为使用框架布局。

答案 3 :(得分:-1)

您没有正确使用框架布局。将广播组和图像视图作为框架布局的子项放置,您可以删除不需要的相对布局