您好我开始使用Android开发。我只是用Android Studio修改一个开源示例。
我只修改了string.xml和一些.png文件。在Android模拟器中它工作得很完美但是当我尝试生成签名的Apk文件时,我收到两个类似描述的错误。
这是其中之一(行标有*):
错误:(33)错误:@ id / linear_adview不是同一个兄弟 RelativeLayout [Not Sibling]
答案 0 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/rl_content_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background">
<LinearLayout`enter code here`
android:id="@+id/linear_adview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.google.android.gms.ads.AdView
android:id="@+id/ad_view_editimg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/sticker_recycler_view"
android:layout_below="@id/linear_adview">
<FrameLayout
android:id="@+id/sticker_framelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/linear_adview">
<ImageView
android:id="@+id/pic_edit_imageview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp"
android:scaleType="centerCrop"
android:src="@drawable/background"
/>
<include
layout="@layout/text_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
</RelativeLayout>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/sticker_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:visibility="visible"
android:layout_above="@+id/linearLayout" />
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:background="@color/colorPrimary"
android:orientation="horizontal">
<TextView
android:id="@+id/smoke_tv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:clickable="true"
android:background="@color/black"
android:gravity="center"
android:text="@string/smoke"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/text_tv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:clickable="true"
android:gravity="center"
android:text="@string/text"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/share_tv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:gravity="center"
android:clickable="true"
android:text="@string/share"
android:textColor="@color/white"
android:textSize="18sp" />
</LinearLayout>
</RelativeLayout>`
`
答案 1 :(得分:0)
使用android:id="@+id/sticker_framelayout"
的FrameLayout并不是LinearLayout与android:id="@+id/linear_adview"
的直接兄弟,而且这也是您无法使用android:layout_below="@id/linear_adview"
的原因。实际上,您可以将RelativeLayout和FrameLayout合并到一个视图中:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/sticker_recycler_view"
android:layout_below="@id/linear_adview">
<FrameLayout
android:id="@+id/sticker_framelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/linear_adview">
(...)
</FrameLayout>
到
<FrameLayout
android:id="@+id/sticker_framelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/sticker_recycler_view"
android:layout_below="@id/linear_adview">
(...)
</FrameLayout>