Несколько проблем: один 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);