以下布局用于显示tabcontent上的视图。但是,当admob出现时,framelayout会在前面获取tabwidget。我怎么能总是在tabwidget上面设置frameLayout?或者相同,在framelayout下面的tabwidget。谢谢
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.google.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="xxx"
ads:adSize="SMART_BANNER"
ads:testDevices="TEST_EMULATOR, xxx"
ads:loadAdOnCreate="true"/>
<TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mainLayout">
<LinearLayout
android:id="@+id/mainLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:scrollbars="none">
</FrameLayout>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"/>
</LinearLayout>
</RelativeLayout>
</TabHost>
</LinearLayout>
答案 0 :(得分:1)
我看到你的布局中有两个问题可能导致这个问题。首先,TabHost的layout_height
不应该填充父级。如果您希望它占用布局中的剩余空间(广告未采取的所有内容),请将高度设置为0dip,将layout_weight
设置为1,就像使用FrameLayout一样。此外,看起来你有一个嵌套在RelativeLayout中的LinearLayout,其中一个不是必需的。对于你正在尝试的,我会消除RelativeLayout。您还可能希望摆脱TabWidget上的layout_weight
属性。将“帧”设置为1表示您希望它拉伸以填充父级中剩余的所有空间,并且应该为您提供所需的结果。小部件的重量可能是导致重叠的原因。希望这会有所帮助。
答案 1 :(得分:0)
应该是这样......
<TabHost>start
<LinearLayout>start
<com.google.ads.AdView
start
end />
<FrameLayout>start
<LinearLayout>start
<LinearLayout>end
</FrameLayout>end
<TabWidget>start
</TabWidget>end
</LinearLayout>end
</TabHost>end
如果你想谷歌添加不同标签的更改,那么上面的方法是最好的,但如果你不这样做,那就这样做就好了....
<LinearLayout>start
<com.google.ads.AdView
start
end />
<TabHost>start
<LinearLayout>start
<FrameLayout>start
<LinearLayout>start
<LinearLayout>end
</FrameLayout>end
<TabWidget>start
</TabWidget>end
</LinearLayout>end
</TabHost>end
</LinearLayout>end
还将选项卡小部件设置为android:layout_marginBottom =“ - 4dp”以防万一。