代码太多就不全贴了,贴上有问题的onfocus部分,viewpager+fragment就是网上常规的用法。
public class MainActivity extends FragmentActivity implements View.OnFocusChangeListener,
View.OnClickListener {
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.fragmentba).setOnFocusChangeListener(this);//标签1
findViewById(R.id.fragmentbb).setOnFocusChangeListener(this);//标签2
findViewById(R.id.fragmentbc).setOnFocusChangeListener(this);//标签3
findViewById(R.id.fragmentbd).setOnFocusChangeListener(this);//标签4
findViewById(R.id.button1).setOnFocusChangeListener(this);//fragment1中的APP1
findViewById(R.id.button2).setOnFocusChangeListener(this);fragment2中的APP1
@Override
public void onFocusChange(View v,boolean b) {
if (b) {
Log.i(TAG, "onFocusChangs" + v.getId());
MoveFrame.focusAnimator(v,onFocusView);//调用焦点框的方法
if (v.getId() == R.id.fragmentba) {
mViewPager.setCurrentItem(0);//焦点框在标签1时,显示fragment1
} else if (v.getId() == R.id.fragmentbb) {
mViewPager.setCurrentItem(1);//焦点框在标签2时,显示fragment2
} else if (v.getId() == R.id.fragmentbc) {
mViewPager.setCurrentItem(2);//焦点框在标签3时,显示fragment3
} else if (v.getId() == R.id.fragmentbd) {
mViewPager.setCurrentItem(3);//焦点框在标签4时,显示fragment4
}
}
}
}