Android:WebView наслаивается на TabWidget?

Вообщем проблема в следующем

Пишу я тут приложение под Android, нарабатываю скилл так сказать

И сделал я табы и вложил в два таба WebView, а отображается при компиляции неверно

Наслаивается WebView на таб

вот скрины
s12.radikal.ru/i185/1109/40/a41478119321.jpg
i010.radikal.ru/1109/d1/ccf5c228465a.jpg


Вот код main.xml
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br/>
&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;<br/>
android:orientation=&quot;vertical&quot;<br/>
android:layout_width=&quot;fill_parent&quot;<br/>
android:layout_height=&quot;fill_parent&quot;<br/>
&gt;<br/>
 &lt;TabHost android:id=&quot;@+id/TabHost01&quot; android:layout_width=&quot;fill_parent&quot; android:layout_height=&quot;wrap_content&quot;&gt;<br/>
 &lt;TabWidget android:id=&quot;@android:id/tabs&quot; android:layout_width=&quot;fill_parent&quot; android:layout_height=&quot;wrap_content&quot; /&gt;<br/>
 &lt;FrameLayout android:id=&quot;@android:id/tabcontent&quot; android:layout_width=&quot;wrap_content&quot; android:layout_height=&quot;wrap_content&quot; android:paddingTop=&quot;65px&quot;&gt;<br/>
 &lt;ListView<br/>
 android:id=&quot;@+id/rssListView&quot;<br/>
 android:layout_width=&quot;fill_parent&quot;<br/>
 android:layout_height=&quot;wrap_content&quot; <br/>
 android:padding=&quot;20dip&quot;/&gt;<br/>
 &lt;WebView <br/>
 android:id=&quot;@+id/webview&quot;<br/>
 android:layout_width=&quot;fill_parent&quot;<br/>
 android:layout_height=&quot;wrap_content&quot;/&gt; <br/>
 &lt;WebView <br/>
 android:id=&quot;@+id/webview1&quot;<br/>
 android:layout_width=&quot;fill_parent&quot;<br/>
 android:layout_height=&quot;fill_parent&quot;<br/>
 /&gt; <br/>
<br/>



  • Вопрос задан
  • 3561 просмотр
Решения вопроса 1
pyJIoH
@pyJIoH
Несколько проблем: один layout наезжает на другой, ты используешь для padding'а то обычные пиксели (px), то независящие от плотности (dip), они на разных экранах разъедутся. Разница описана здесь.

Есть хороший пример как использовать Tab Layout — hello tabwidget. Суть такая:

1. Создавай три отдельных activity: один для ListView и два для WebView. Опиши их в манифесте.
2. У тебя будет такой layout main.xml:
<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">
	<LinearLayout
		android:orientation="vertical"
		android:layout_width="fill_parent"
		android:layout_height="fill_parent"
		android:padding="5dp">
		<TabWidget
			android:id="@android:id/tabs"
			android:layout_width="fill_parent"
			android:layout_height="wrap_content" />
		<FrameLayout
			android:id="@android:id/tabcontent"
			android:layout_width="fill_parent"
			android:layout_height="fill_parent"
			android:padding="5dp" />
	</LinearLayout>
</TabHost>


3. В главной activity, наследованной от TabActivity загружай табы, пример для одной:
	TabHost tabHost = getTabHost();
	Intent intent = new Intent().setClass(this, YourWebViewActivity.class);
	TabHost.TabSpec spec = tabHost.newTabSpec("WebView1").setIndicator("WebView1").setContent(intent);
	tabHost.addTab(spec);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
INCWADRA
@INCWADRA Автор вопроса
никто не знает?(
Ответ написан
Комментировать
ara89
@ara89
попробуйте фрейм лайауту, который с id "@android:id/tabcontent" поставить филл паренты в height и width, а также убртаь паддинг. константы в разметке также следует указывать в dip, а не px.

WebView в свою очередь оберните в LinearLayout, у которого также будут стоять филл паренты. если нужно опустить WebView ниже, LinearLayoutу, в котором он содержится можно поставить layout_marginTop=«ndip»
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы