2013-11-27 5 views
1

У меня есть простой макет. Но я не могу заставить его работать вместе с AD, который я хочу поставить внизу. Вот 2 скриншота с и без AD.Объявления, касающиеся нижней части макета Android

Без AD

enter image description here

С AD

enter image description here

Как вы можете видеть AD, когда он загружен, он охватывает обе кнопки (которые находятся в относительной макете). Как я могу сделать это правильно, поэтому, когда AD загружен, мой относительный макет «ударяет» над объявлением? Вот мой XML.

<?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" xmlns:app="http://schemas.android.com/apk/res/example.com"> 



    <com.example.touch.TouchImageView android:id="@+id/mytouchview" 
     android:layout_height="match_parent" 
     android:layout_width="match_parent" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_marginTop="5dp" 
     android:layout_above="@+id/relat" 
     /> 




     <RelativeLayout 
      android:id="@+id/relat" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:paddingLeft="10dp" 
      android:paddingRight="10dp" 
      > 

      <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dp" android:layout_alignParentLeft="true" 
      android:background="@null" android:src="@drawable/previous" android:id="@+id/previous"/> 

      <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20sp" android:text="2/15" 
     android:id="@+id/memeNumber" android:layout_centerInParent="true" android:layout_margin="5dp"/> 


     <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dp" android:layout_alignParentRight="true" 
      android:background="@null" android:src="@drawable/next" android:id="@+id/next"/> 


</RelativeLayout> 



    <com.csjy.sfwn148282.AdView 
xmlns:ap="http://schemas.android.com/apk/res-auto" 
android:id="@+id/myAdView" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
ap:animation="fade" 
ap:placementType="interstitial" 
ap:banner_type="inappad" 
ap:test_mode="true" 
ap:canShowMR="false" 
android:layout_alignParentBottom="true" 


/> 

</RelativeLayout> 

EDIT:

Я сделал, как @Szymon посоветовал мне, но проблема я столкнулся в настоящее время является то, что макет не позиционируется, как это, пока загрузки объявления. После этого он работает так, как должен. Как это исправить?

enter image description here

ответ

2

Это будет работать для вас. Обратите внимание, что вы должны использовать @+id только один раз для каждой переменной, которую вы объявляете (даже если вы объявите ее в каком-либо другом месте, чем фактический элемент). В приведенном ниже коде объявляется в android:layout_above и используется только как @id в декларации фактического элемента.

<?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" xmlns:app="http://schemas.android.com/apk/res/example.com"> 



    <com.example.touch.TouchImageView android:id="@+id/mytouchview" 
     android:layout_height="match_parent" 
     android:layout_width="match_parent" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_marginTop="5dp" 
     android:layout_above="@+id/relat" 
     /> 

     <RelativeLayout 
      android:id="@id/relat" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:paddingLeft="10dp" 
      android:paddingRight="10dp" 
      android:layout_above="@+id/myAdView" 
      > 

      <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dp" android:layout_alignParentLeft="true" 
      android:background="@null" android:src="@drawable/previous" android:id="@+id/previous"/> 

      <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="20sp" android:text="2/15" 
       android:id="@+id/memeNumber" android:layout_centerInParent="true" android:layout_margin="5dp"/> 


      <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dp" android:layout_alignParentRight="true" 
      android:background="@null" android:src="@drawable/next" android:id="@+id/next"/> 


     </RelativeLayout> 



    <com.csjy.sfwn148282.AdView 
     xmlns:ap="http://schemas.android.com/apk/res-auto" 
     android:id="@id/myAdView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ap:animation="fade" 
     ap:placementType="interstitial" 
     ap:banner_type="inappad" 
     ap:test_mode="true" 
     ap:canShowMR="false" 
     android:layout_alignParentBottom="true" 
    /> 

</RelativeLayout> 
+0

Это работает. Но сейчас я столкнулся с новой проблемой. Я отредактировал свой вопрос, если вы хотите взглянуть. – rootpanthera

+1

Если он решил ваш первоначальный вопрос, тогда ответ должен быть принят, и начался новый вопрос. Это бесполезно для кого-то другого с той же проблемой, если исходный вопрос редактируется на новый. Тогда ответы не будут иметь никакого смысла. Это также подрывает систему вознаграждения по сравнению с проделанной работой. – Brianjs

+0

@rootpanthera Как сказал Брайанс, задайте отдельный вопрос. Я буду рад посмотреть на это. – Szymon

Смежные вопросы