如何在另一个布局

时间:2017-05-25 05:06:57

标签: android android-layout surfaceview glsurfaceview

我正在使用Surface视图。我希望在我的表面视图上有一个透明视图。该透明视图必须包含三个标题,描述和微调器以及一个按钮名称“开始”。如果没有输入标题,描述和Spinner的菜单,就无法进入透明视图下方的下一个布局。请帮助我用某种例子..如何实现这种观点???这就是我想要的...... enter image description here

这是我的Surfaceview布局..

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


<LinearLayout
    android:id="@+id/suface_view_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <net.ossrs.yasea.SrsCameraView
        android:id="@+id/glsurfaceview_camera"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" />

</LinearLayout>

4 个答案:

答案 0 :(得分:3)

使用FrameLayout代替RelativeLayout

 <?xml version="1.0" encoding="utf-8"?>
 <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=".MainActivity">

  // Add other view

 <LinearLayout
  android:id="@+id/suface_view_layout"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">


  <net.ossrs.yasea.SrsCameraView
    android:id="@+id/glsurfaceview_camera"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true" />

 </LinearLayout>

 </FrameLayout>

答案 1 :(得分:0)

你可以像这样使用

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

    <LinearLayout
        android:id="@+id/suface_view_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

            <net.ossrs.yasea.SrsCameraView
                android:id="@+id/glsurfaceview_camera"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true" />

    </LinearLayout>
    <view 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/transparent"/>

</RelativeLauout>

答案 2 :(得分:0)

 You can place FrameLayout



<?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="match_parent">

<SurfaceView
    android:id="@+id/surfaceView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
</FrameLayout>

</RelativeLayout>


or You can place View


<?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="match_parent">

<SurfaceView
    android:id="@+id/surfaceView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

<View
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
</View>



 </RelativeLayout>

 FrameLayout is the better option 

答案 3 :(得分:0)

使用RelativeLayout或FrameLayout,您可以在SurfaceView上方放置另一个布局,使布局透明,使下面的SurfaceView部分可见,我们必须将alpha设置为布局的背景颜色。我们可以使特定的颜色透明通过改变颜色代码。

通常颜色代码将采用这种格式,

RR GG BB或R G B

例如:#ff 00 00或#f f 0

它将绿色蓝色值从 0 告诉 f (十六进制)

我们还有一种颜色代码格式可以设置alpha值来改变颜色的不透明度,

AA RR GG BB或A R G B

例如:#ff ff 00 00或#0 f f 0

告诉Alpha绿色蓝色红色值从0到f(十六进制)

因此,为了使任何颜色透明,我们可以将alpha的值从0变为f。 例如:考虑我们想让黑色变为透明,

黑色的颜色代码是#000000,要使其透明,请将其更改为

  • #00000000 - 完全透明
  • #88000000 - 部分透明
  • #ff000000 - 没有透明度

将此颜色设置为布局以使其透明。