レイアウトがあります。最初に私はそれについて話します。
1.TabHost 以下
2.ヘッダーとフッターを含むリスト (ヘッダーはView
、レイアウトを拡張する です)。
以下のコーディングはすべて Fragment です。
これは私がHeaderViewを作っている方法です:
View headerView;
headerView = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.activity_first,null, false);
次に、headerView を listView に追加しています。
this.list_news.addHeaderView(headerView);
以下activity_first.xml
は、headerView のインフレートに使用されます。
activity_first.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<include
android:id="@+id/content"
layout="@layout/activity_main"
android:layout_width="match_parent"
android:layout_height="200dp"/>
</LinearLayout>
以下activity_main.xml
は、activity_first.xml にレイアウトを含めるために使用されます。
activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res/net.top.ly3w"
android:id="@+id/background_linear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/photosload"
android:orientation="vertical"
>
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/circle_indicator"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_weight="1" />
<net.top.ly3w.viewpager.CirclePageIndicator
android:id="@+id/circle_indicator"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginTop="-40dp"
android:padding="10dip" />
</RelativeLayout>
写真:
それで、今私が得ている私の問題について説明します。headerView
スライドショーのように見え、特定のタイミングで多数の URL 画像が読み込まれます。個別のタッチイベントがあります。活動的には問題なく動いています。しかし、タブホストで使用し、スライドショーでスワイプすると、タブ全体が次のタブに移動します。タブ全体をスワイプするのではなく、headerView で次のスライドをスワイプしたいだけです。それで、どうすればそれを達成できますか?
次のコードを使用してタブを設定します。
TabSpec ts1 = setupTab(new TextView(this), "?");
TabSpec ts2 = setupTab(new TextView(this), "-");
TabSpec ts3 = setupTab(new TextView(this), "=");
TabSpec ts4 = setupTab(new TextView(this), "?");
TabSpec ts5 = setupTab(new TextView(this), "?");
TabSpec ts6 = setupTab(new TextView(this), "?");
mTabsAdapter.addTab(ts1, NewsOneActivity.class, null);
mTabsAdapter.addTab(ts2, NewsTwoActivity.class, null);
mTabsAdapter.addTab(ts3, NewsTwoActivity.class, null);
mTabsAdapter.addTab(ts4, NewsTwoActivity.class, null);
mTabsAdapter.addTab(ts5, NewsTwoActivity.class, null);
mTabsAdapter.addTab(ts6, NewsSixActivity.class, null);
public void addTab(TabHost.TabSpec tabSpec, Class<?> clss, Bundle args) {
tabSpec.setContent(new DummyTabFactory(mContext));
String tag = tabSpec.getTag();
TabInfo info = new TabInfo(tag, clss, args);
mTabs.add(info);
mTabHost.addTab(tabSpec);