我创建了一个新项目并包含了HoloEveryWhere
库。然后我决定添加ViewPageIndicator
。
我复制了ViewPageIndicator
示例中的所有代码,但它没有用。
我尝试使用SherlockFragment
,但这也不起作用。
所以我从我的项目中删除了HoloEveryWhere
,但显然这不是问题,因为它仍然没有刷卡。
编辑:
这是我的xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<com.viewpagerindicator.TabPageIndicator
android:id="@+id/indicator"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
你看,我刚从样本中复制了两个标签。 这是main.java:
package com.example.test;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import com.viewpagerindicator.TabPageIndicator;
public class MainActivity extends FragmentActivity {
private static final String[] CONTENT = new String[] { "Recent", "Artists", "Albums", "Songs", "Playlists", "Genres" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentPagerAdapter adapter = new GoogleMusicAdapter(getSupportFragmentManager());
ViewPager pager = (ViewPager)findViewById(R.id.pager);
pager.setAdapter(adapter);
TabPageIndicator indicator = (TabPageIndicator)findViewById(R.id.indicator);
indicator.setViewPager(pager);
}
class GoogleMusicAdapter extends FragmentPagerAdapter {
public GoogleMusicAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return TestFragment.newInstance(CONTENT[position % CONTENT.length]);
}
@Override
public CharSequence getPageTitle(int position) {
return CONTENT[position % CONTENT.length];
}
@Override
public int getCount() {
return CONTENT.length;
}
}
}
答案 0 :(得分:0)
您的布局是您遇到困难的根源。
如果您要使用RelativeLayout
,则需要指定RelativeLayout
内的小部件的位置。默认情况下,它们都位于左上角,后来的子项(您的ViewPager
)浮动在Z轴上的早期子项(您的TabPageIndicator
)之上。因此,使用您当前的布局,用户无法触及您的TabPageIndicator
。
切换到vertical
LinearLayout
或使用适当的属性(例如android:layout_below
)来整理RelativeLayout
中的小部件,以便它们不会重叠。< / p>
层次结构视图是帮助您识别此类问题的有用工具。