編輯:關於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
本文實例分析了Android可循環顯示圖像的Android Gallery組件用法。分享給大家供大家參考,具體如下:Gallery組件主要用於橫向顯示圖像列表,不過按常規
最近項目中需要用到ListView下拉刷新的功能,一開始想圖省事,在網上直接找一個現成的,可是嘗試了網上多個版本的下拉刷新之後發現效果都不怎麼理想。有些是因為功能不完整或
許多項目都必須用到上傳圖片的功能,有了圖片會更加精彩,最近我的項目也需要選擇圖片的功能,所以把我寫的代碼共享出來,也算是筆記吧!好,廢話少說,下面看看效果圖: 效果還
本文實例分析了Android編程畫圖之抗鋸齒解決方法。分享給大家供大家參考,具體如下:在畫圖的時候,圖片如果旋轉或縮放之後,總是會出現那些華麗的鋸齒。其實Android自