android如何使transpernt子布局父背景有一些颜色

时间:2016-09-16 13:17:47

标签: android layout

我正在尝试制作以下布局。问题是将相机及其下部设置为透明。我有相机的圆形图像,但如何放置布局,以便我可以得到低于布局。

我尝试过以下代码:

<?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:id="@+id/fullscreen_content_controls"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:background="@drawable/bg_app">

    <RelativeLayout

        android:layout_width="match_parent"
        android:layout_height="match_parent"

        android:layout_marginTop="@dimen/font_xtr_large"

        android:gravity="center"

        android:orientation="vertical">

        <ImageView
            android:id="@+id/ivlogo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="@dimen/margin_medium"
            android:src="@drawable/ic_login_logo" />


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/ivlogo"
            android:background="@color/color_white"
            android:orientation="vertical">

            <ImageView
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:layout_gravity="center"


                android:layout_marginTop="-40dp"
                android:src="@drawable/Camera" />
        </LinearLayout>





    </RelativeLayout>


</RelativeLayout>

enter image description here

2 个答案:

答案 0 :(得分:0)

修改 第一次误解你的问题。因此,您可以尝试使用具有特定半径的空半圆创建图片,然后使用此半径填充创建圆形按钮并将其放在那里。

所以这里是简单的布局,只是为了让你理解这个想法

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#15aa12"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <RelativeLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="bottom"
        android:layout_weight="1">

        <ImageView
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:id="@+id/imageView"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true"
            android:background="#fff" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#5476aa">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button2"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true" />
    </RelativeLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#fff">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/editText"
            android:text="test" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/editText2"
            android:text="test" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/editText3"
            android:text="test" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button"
            android:layout_gravity="center_horizontal" />
    </LinearLayout>
</LinearLayout>

所以你需要创建这样的图片(在顶部透明,没有相机圆圈按钮。然后把这张图片作为中间布局的背景,并设置正确的按钮形式enter image description here

test

这是我创建的xml文件的图片

答案 1 :(得分:0)

尝试以下步骤:

  1. 将葡萄图像设置为布局背景。
  2. 您必须在中心创建一个圆形图像,下半部分为白色背景,上半部分为透明色。
  3. 将此图像用作“相机”按钮的父级背景。
  4. 将相机按钮设置为父母的中心。
  5. 在相机父级之后的下半部分,将其背景颜色设置为白色。