我有以下布局,其中包含大小的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>
答案 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();
它解决了这个问题!