android,viewpage实现应用程序员宝典;扩展包不管什么android版本都可以用;第一次安装使用从封面到提示帮助界面
android,viewpage实现应用程序员宝典;扩展包不管什么android版本都可以用;第一次安装使用从封面到提示帮助界面
android.support.v4.view.ViewPager扩展包的类,还有地图api什么的引入的包这些只要你项目引入该包,该类不用考虑用户的手机版本
首先进入封面,刚进去的提示帮助界面,第一次安装使用时出现,以后不出现
android:layout_width="match_parent"
android:layout_height="match_parent" >
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
android:layout_alignParentBottom="true"
android:layout_marginBottom="50dp"
android:layout_height="10dp"
android:gravity="center"
android:orientation="horizontal" >
android:layout_width="10dp"
android:layout_height="10dp"
android:background="#00ff00" />
android:layout_height="10dp" />
android:layout_width="10dp"
android:layout_height="10dp"
android:background="#666666" />
android:layout_height="10dp" />
android:layout_width="10dp"
android:layout_height="10dp"
android:background="#666666" />
android:layout_height="10dp" />
android:layout_width="10dp"
android:layout_height="10dp"
android:background="#666666" />
帮助界面的图片viewpager容器
package com.kane.interviewcollection;
import java.util.ArrayList;
import java.util.List;
import com.kane.interviewcollection.adapter.MyPageAdapter;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class HelpActivity extends Activity {
private ViewPager pager;
private MyPageAdapter pageAdapter;
private List
private TextView[] allPoints = new TextView[4];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_help);
pager = (ViewPager) findViewById(R.id.pager);
//设置viewpager保存的view,若不设置,会一直添加经历过的view,会有bug
pager.setOffscreenPageLimit(3);
allPoints[0] = (TextView) findViewById(R.id.position_point_01);
allPoints[1] = (TextView) findViewById(R.id.position_point_02);
allPoints[2] = (TextView) findViewById(R.id.position_point_03);
allPoints[3] = (TextView) findViewById(R.id.position_point_04);
// 初始化数据
allViews.add(LayoutInflater.from(this).inflate(R.layout.page_01, null));
allViews.add(LayoutInflater.from(this).inflate(R.layout.page_02, null));
allViews.add(LayoutInflater.from(this).inflate(R.layout.page_03, null));
// 单独为第四个界面加入监听,进入主界面
View page4 = LayoutInflater.from(this).inflate(R.layout.page_04, null);
page4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new Intent(HelpActivity.this, MainActivity.class);
startActivity(in);
finish();
}
});
allViews.add(page4);
pageAdapter = new MyPageAdapter(allViews);
pager.setAdapter(pageAdapter);
// 为pager加入监听
pager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// 改变颜色
for (int i = 0; i < allPoints.length; i++) {
allPoints[i].setBackgroundColor(Color.parseColor("#666666"));
}
allPoints[arg0].setBackgroundColor(Color.GREEN);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}
}
主界面
package com.kane.interviewcollection;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.kane.interviewcollection.adapter.MyPageAdapter;
import com.kane.interviewcollection.adapter.QuestionAdapter;
import com.kane.interviewcollection.util.DialogManager;
import com.kane.interviewcollection.util.ExitApplication;
import com.kane.interviewcollection.util.Globals;
import com.kane.interviewcollection.util.QuesstionDAOUtils;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Color;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView.OnItemClickListener;
/**
* 既能实现滑动切换,也能实现点击切换
* @author lenovo
*
*/
public class Main2Activity extends Activity {
private ViewPager pager;
TextView titleText;
private Button settingBtn;
// 下面的三个按钮
private Button[] bottomBtns = new Button[3];
// 未选中的按钮图片
private int[] allBottomImgs = { R.drawable.bottom_icon01_a,
R.drawable.bottom_icon02_a, R.drawable.bottom_icon03_a };
// 选中的按钮图片
private int[] allBottomImgsSelected = { R.drawable.bottom_icon01_b,
R.drawable.bottom_icon02_b, R.drawable.bottom_icon03_b };
// 声明循环为了在内部类使用
private int i;
// 点击设置按钮的浮动窗口
private PopupWindow win;
private MyPageAdapter pageAdapter;
private List
// 所有头部要显示的标题内容
private String[] allTitleText = { "程序员面试宝典", "全部问题", "搜索问题" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ExitApplication.getInstance().addActivity(this);//每个activity创建的时候添加到activity列表
setContentView(R.layout.activity_main2);
//进行头部和尾部的初始化
init("程序员面试宝典", 0);
//保存一个标志,表示程序打开过,下次进来不用帮助界面,这里的SharedPreferences类似web的application,取得是在cover中同一个
SharedPreferences s=getSharedPreferences("question_flag",
MODE_PRIVATE);
if (!s.getBoolean("showed", false)) {
Editor e=s.edit();
e.putBoolean("showed", true);
e.commit();
}
pager=(ViewPager)findViewById(R.id.pager);
//设置viewpager保存的view,若不设置,会一直添加经历过的view,会有bug
pager.setOffscreenPageLimit(3);
//添加界面
allViews.add(LayoutInflater.from(this).inflate(R.layout.page_main, null));
View questionView=LayoutInflater.from(this).inflate(R.layout.page_question,null);
//初始问题列表
initQuestionList(questionView);
allViews.add(questionView);
View searchView=LayoutInflater.from(this).inflate(R.layout.page_search, null);
initSearch(searchView);
allViews.add(searchView);
pageAdapter=new MyPageAdapter(allViews);
pager.setAdapter(pageAdapter);
//为pager设置一个监听,当页面滑动切换时,可以调整头部和尾部信息
pager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// 调整头部的文字
titleText.setText(allTitleText[arg0]);
if (arg0==1&&!keyword.equals("")) {
titleText.setText("搜索: " + keyword);
}
//调整底部按钮显示
for (int i = 0; i < bottomBtns.length; i++) {
if (i==arg0) {
bottomBtns[i].setBackgroundResource(allBottomImgsSelected[i]);
}
else {
bottomBtns[i].setBackgroundResource(allBottomImgs[i]);
}
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
private ListView listView;
private QuestionAdapter adapter;
private List
用户评论