切换按钮在Android的xml布局中消失

时间:2015-03-18 20:47:29

标签: android xml layout surfaceview android-framelayout

我有以下布局,其中包含大小的surfaceview。我以编程方式添加表面视图。我正在使用叠加技术将较小的预览放在较大视图的顶部。我想添加一个切换按钮,但遗憾的是按钮隐藏了自己,但是当你按下屏幕时它会起作用。我更大的sufaceview绘制位图,而较小的预览显示其他内容。以下是我的代码:

<FrameLayout 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="${relativePackage}.${activityClass}" >
    <FrameLayout
        android:id="@+id/big_preview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>
   <FrameLayout
        android:id="@+id/small_preview"
        android:layout_width="120dp"
        android:layout_height="160dp"
        android:layout_gravity="top|right"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dp" >
    </FrameLayout>
      <FrameLayout
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|center_horizontal"
        android:layout_marginBottom="20dp"
        android:alpha="0.5"
        android:background="@android:color/white"
        android:padding="10dp" >
        <ToggleButton
            android:id="@+id/btn"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/button_selector"
            android:checked="true"
            android:padding="10dp"
            android:text=""
            android:textOff=""
            android:textOn="" />
    </FrameLayout>
</FrameLayout>

1 个答案:

答案 0 :(得分:1)

我以编程方式解决了这个问题: 我对我的FrameLayout有一个ID:

<FrameLayout
        android:id="@+id/buttonprev"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|center_horizontal"
        android:layout_marginBottom="20dp"
        android:alpha="0.5"
        android:background="@android:color/white"
        android:padding="10dp" >
        <ToggleButton
            android:id="@+id/btn"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/button_selector"
            android:checked="true"
            android:padding="10dp"
            android:text=""
            android:textOff=""
            android:textOn="" />
    </FrameLayout>

之后:

btnLayout=(FrameLayout) findViewById(R.id.buttonprev);
btnLayout.bringToFront();

它解决了这个问题!