2012-06-13 21 views
6

私はmain.xml TitlePageIndicatorとViewPagerにあり、RelativeLayoutの下部にあるadmob(LinearLayoutに右端)を追加します。これどうやってするの?RelativeLayoutの下部にビューを動的に追加します

私はそれを起動すると、ログはエラーについて何も言わないが(admobを入れる場所がないので)、admobは見えないので、私はそれを見ることができない。 (ViewPagerに特定のサイズを設定しようとしたためにadmobが画面外になっているように見えますが、それは完璧に機能します) ViewPagerに特定のサイズを設定したくありません(画面サイズが異なるため) ありがとうございました。

私main.xmlは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <com.viewpagerindicator.TitlePageIndicator 
     android:id="@+id/indicator" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true"/> 
    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/indicator"/> 
    <LinearLayout 
     android:id="@+id/for_ads" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/viewpager"/> 
</RelativeLayout> 

UPD。 、

RelativeLayout rLayout = (RelativeLayout)findViewById(R.id.yourRelativeId); 

は、オブジェクトのためのいくつかのLayoutParamsを作成します(この場合は: は、私はこのanswerを使用 を解決し、それはあなたがそれを参照したい場合は

答えて

18

は、まず、あなたのRelativeLayoutはIDを必要とする私のための完璧な作品

RelativeLayout.LayoutParams rLParams = 
    new RelativeLayout.LayoutParams(
    LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); 
    rLParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 1); 

次に、追加します。)下に自分自身を揃える(および任意の他のビューに合わせていない、それはオフスクリーンプッシュまたは他のビューによって移動されていないこのようにそれを伝えるあなたのAdMob adview)よろしくあなたのLayoutParamsとウルRelativeLayout:

この場合
rLayout.addView(yourAdView, rLParams); 
+1

は、AdMobのは、私の他のUIをカバーし、答えのため –

+0

おかげオブジェクト、私はやるだけで、あなたはそれが別のビューを下回るようにしたい場合は、この:) –

+0

を解く:rLParams。 addRule(RelativeLayout.BELOW、viewtoBeBelow.getId());しかし、下に表示するビューが下に広がっている場合は、adviewを見ることができなくなります。これは、BELOWの代わりに、adviewよりも上にしたいビューのLayoutParamsを変更する必要があります:addRule (RelativeLayout.ABOVE、yourAdView.getId()); setID(someInteger)でadviewのIDを設定していることを確認してください。またはビューを相対的に配置することはできません。 – Guardanis

関連する問題