android - 如何正确使用FrameLayout?

标签 android android-layout

我在下面附上了我的 xml 代码...如何在 LinearLayout 之上创建一个按钮。我试过我没有得到输出。

 <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <TextView
                android:layout_width="75dp"
                android:layout_height="75dp"
                android:layout_gravity="center_horizontal"
                android:textColor="@color/white"
                android:gravity="center"
                android:background="@drawable/circle_receive_bg"
                android:text="OR"/>


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#F6F6F6"
            android:layout_marginTop="45dp"
            android:orientation="vertical">


            <SurfaceView
                android:id="@+id/surfaceView"
                android:layout_width="150dp"
                android:layout_height="150dp"
                android:layout_marginTop="25dp"
              android:layout_gravity="center_horizontal|center_vertical"/>
            </LinearLayout>
 </FrameLayout>

我的输出如下:

enter image description here

预期输出:

enter image description here

请提供任何引用资料或我做错了指定...感谢 adavace

最佳答案

ViewGroup从上到下保持其子高度<View>在 xml 中定义,即底部 <View>在 xml 中将位于其他 View 之上

您需要定义您的 TextView最后像这样

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


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#F6F6F6"
            android:layout_marginTop="45dp"
            android:orientation="vertical">


            <SurfaceView
                android:id="@+id/surfaceView"
                android:layout_width="150dp"
                android:layout_height="150dp"
                android:layout_marginTop="25dp"
                android:layout_gravity="center_horizontal|center_vertical"/>

            </LinearLayout>

          //Define in bottom to make it on top of other views
           <TextView
                android:layout_width="75dp"
                android:layout_height="75dp"
                android:layout_gravity="center_horizontal"
                android:textColor="@color/white"
                android:gravity="center"
                android:background="@drawable/circle_receive_bg"
                android:text="OR"/>

 </FrameLayout>

或者如果您的 minSDK 是 API 21,那么您可以使用 android:elevation=1dp使 View 位于顶部的属性

关于android - 如何正确使用FrameLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49188588/

相关文章:

Android 无法解析符号 OnRequestPermissionsResultCallback

android - React-Native:模块 AppRegistry 不是注册的可调用模块

android - 致命信号 11 (SIGSEGV) 位于 0x00000000(代码=1),线程 27830(ple.myfragexample)——仅适用于 Android 4.1.2

Android:如何针对不同的设备方向将 ViewPager 布局与非 ViewPager 布局混合使用?

android - 更改 Android 底部导航栏中所选项目后面区域的背景颜色

android - Glide 使 ImageView wrap_content 无用并且没有使用目标的动画

java - "table * has no column named * "错误,SQLite

java - Android的Canvas.drawBitmap()方法中参数 ‘Paint’的作用

Android同步(我认为)

android - 在 2 个不同的回调中调用一个 Activity 中的多个布局