【问题标题】:Android : Relativelayout in Framelayout not showing up (Custom Camera Preview Screen)Android:Framelayout中的Relativelayout未显示(自定义相机预览屏幕)
【发布时间】:2014-03-20 06:18:26
【问题描述】:

我需要与附加图像文件相同的相机预览屏幕:我想在 framelayout 上设计两个透明布局,所以它看起来像这样,但是当我运行它时只显示相机屏幕(Framelayout)。它没有显示两个相对布局。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/camera_preview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#000000"
        android:layout_gravity="top"
        android:padding="15dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="01"
            android:textColor="@color/White" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/textView1"
            android:layout_marginTop="5dp"
            android:text="Status:"
            android:textColor="@color/White" />

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/textView1"
            android:layout_marginRight="78dp"
            android:src="@drawable/heart" />

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView2"
            android:layout_alignLeft="@+id/imageView3"
            android:layout_marginTop="10dp"
            android:src="@drawable/view" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/imageView3"
            android:layout_marginLeft="10dp"
            android:layout_toRightOf="@+id/imageView4"
            android:text="125 Likes"
            android:textColor="@color/White" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView2"
            android:layout_toRightOf="@+id/textView2"
            android:text="STREAMING" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView3"
            android:layout_alignTop="@+id/imageView4"
            android:text="24 Viewers"
            android:textColor="@color/White" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#77000000"
        android:layout_gravity="bottom"
        android:padding="10dp" >

        <Button
            android:id="@+id/button_capture"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="@drawable/camera_record"
            android:textColor="@color/White" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="50dp"
            android:src="@drawable/view_video_big" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="50dp"
            android:src="@drawable/swipe_camera" />
    </RelativeLayout>

</FrameLayout>

【问题讨论】:

  • 你的图片在哪里??
  • 你为什么要给你的父FrameLayout一个权重??
  • 我刚刚上传了我的图片。看看
  • 我已经删除了重量。当我运行时,它仍然只显示 Framelayout。我无法在屏幕上看到两个透明的相对布局
  • @SandyAngel 你的意思是说你的两个相对布局都没有显示??

标签: android layout android-framelayout


【解决方案1】:

为布局文件中的两个RelativeLlayouts添加id..

并通过这样的方式获取视图对象

    RelativeLayout layout1=(RelativeLayout) findViewById(R.id.topRelativeLayout);
    RelativeLayout layout2=(RelativeLayout) findViewById(R.id.bottomRelativeLayout);

并在您的 onCreate 中添加这一行并测试一次..

    layout1.bringToFront();
    layout2.bringToFront();

【讨论】:

  • @HarshitRathi SO 的目的是给出完全正确的答案和评论。如果任何机构有疑问或任何问题,那么他/她可以评论其他 SO 用户的答案。所以不要表现得像孩子一样。
  • @kalyan pvs :它起作用了,我刚刚添加了 id 并获取视图对象,正如您在框架布局获取视图对象之前提到的那样,非常感谢。你让我开心:)
  • @Kalyan pvs:你太棒了……!
【解决方案2】:

先试试这个,你必须把你的背景图片设置为FrameLayout

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/camera_preview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" 
    android:background="@drawable/ic_launcher"
     >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#000000"
        android:padding="15dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="01"
            android:textColor="@color/White" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/textView1"
            android:layout_marginTop="5dp"
            android:text="Status:"
            android:textColor="@color/White" />

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/textView1"
            android:layout_marginRight="78dp"
            android:src="@drawable/heart" />

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView2"
            android:layout_alignLeft="@+id/imageView3"
            android:layout_marginTop="10dp"
            android:src="@drawable/view" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/imageView3"
            android:layout_marginLeft="10dp"
            android:layout_toRightOf="@+id/imageView4"
            android:text="125 Likes"
            android:textColor="@color/White" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView2"
            android:layout_toRightOf="@+id/textView2"
            android:text="STREAMING" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView3"
            android:layout_alignTop="@+id/imageView4"
            android:text="24 Viewers"
            android:textColor="@color/White" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#77000000"
        android:layout_gravity="bottom"
        android:visibility="visible"
        android:padding="10dp" >

        <Button
            android:id="@+id/button_capture"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="@drawable/camera_record"
            android:textColor="@color/White" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="50dp"
            android:src="@drawable/view_video_big" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="50dp"
            android:src="@drawable/swipe_camera" />
    </RelativeLayout>

</FrameLayout>

或关注此link

【讨论】:

  • 您不能为 FrameLayout 设置方向。
  • @Harshit Rathi:Framlayout 不包含任何包含相机预览屏幕的图像 :(
  • @SandyAngel 我在回答中提到了你想要的链接。
  • @Kalyan pvs:我只是在检查它。感谢您的回答
  • @SandyAngel 你有没有关注我提到的链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多