391
技术社区[云栖]
Android瀹炵幇宸﹀彸婊戝姩鎸囧紩鏁堟灉-鍗氩-浜戞尔绀惧尯-阒块噷浜?
链枃鐨勭洰鐨勬槸瑕佸疄鐜板乏鍙虫粦锷ㄧ殑鎸囧紩鏁堟灉銆傞偅涔堜粈涔堟槸鎸囧紩鏁堟灉锻纻鐜板湪鐨勫簲鐢ㄤ负浜嗘湁镟村ソ鐨勭敤鎴蜂綋楠岋纴涓€鑸细鍦ㄥ簲鐢ㄥ紑濮嬫樉绀轰竴浜涙寚寮曞府锷╅〉闱纴浣跨敤鎴疯兘镟村ソ鐨勭悊瑙e簲鐢ㄧ殑锷熻兘锛岀敋镊虫槸涓€浜涙柊闂婚槄璇诲櫒浼氭妸涓€浜涘ご鏉℃柊闂讳互鎸囧紩鏁堟灉鐨勫舰寮忔樉绀恒€傝涓渶鍩烘湰鐨勶纴灏辨槸鎴戜滑鐨勬坠链轰富灞忓箷灏辨槸杩欑鏁堟灉銆?/p>
听
涓嬮溃鎴戜滑灏卞紑濮嫔疄鐜版垜浠殑宸﹀彸婊戝姩鎸囧紩鏁堟灉銆备负浜嗗ぇ瀹舵洿濂界殑鐞呜В锛屾垜浠厛鐪嬩笅瀹炵幇鏁堟灉锛屽涓嫔浘鎵€绀猴细
听
听听
听听
听
听 听
听
听
鍦ㄨ繖閲岋纴鎴戜滑闇€瑕佺敤鍒癵oogle鎻愬埌鐨勪竴涓寘钬斺€?span >android-support-v4.jar锛岃繖涓寘鏄负浜嗘柟渚垮疄鐜瘾ndroid
view涔嬮棿鐨勫垏鎹纴鍏充簬android-support-v4.jar鐨勮缁嗕俊鎭纴澶у鍙互璁块梾google瀹樻柟缃戠珯锛?/span>https://developer.android.com/sdk/compatibility-library.html
听
棣栧厛鎴戜滑鍏堢湅涓嬮」鐩粨鏋勶细
听
听
镙稿绩瀹炵幇浠g爜濡备笅鎵€绀猴细
听 }听
听 item.xml浠g爜濡备笅锛?/p>
</LinearLayout>听听
浠ヤ笂渚挎槸瀹炵幇澶ф姝ラ锛岀敱浜庣綉阃熼梾棰桡纴浠g爜鎴戝皢浼氩緢蹇纴鏁鍏虫敞钬︹€︺€?/p>
听
import听android.app.Activity;
import听android.os.Bundle;
import听android.os.Parcelable;
import听android.support.v4.view.PagerAdapter;
import听android.support.v4.view.ViewPager;
import听android.support.v4.view.ViewPager.OnPageChangeListener;
import听android.view.LayoutInflater;
import听android.view.View;
import听android.view.ViewGroup;
import听android.view.Window;
import听android.view.ViewGroup.LayoutParams;
import听android.widget.ImageView;
/**
听*听Android瀹炵幇宸﹀彸婊戝姩鎸囧紩鏁堟灉
听*听@Description:听Android瀹炵幇宸﹀彸婊戝姩鎸囧紩鏁堟灉
听*听@File:听MyGuideViewActivity.java
听*听@Package听com.test.guide
听*听@Author听Hanyonglu
听*听@Date听2012-4-6听涓嫔崃11:15:18
听*听@Version听V1.0
听*/
public听class听MyGuideViewActivity听extends听Activity听{
听听听听听private听ViewPager听viewPager;听听
听听听听听private听ArrayList<View>听pageViews;听听
听听听听听private听ImageView听imageView;听听
听听听听听private听ImageView[]听imageViews;听
听听听听听//听鍖呰9婊戝姩锲剧墖LinearLayout
听听听听听private听ViewGroup听main;
听听听听听//听鍖呰9灏忓浑镣圭殑LinearLayout
听听听听听private听ViewGroup听group;
听听听听听听听听
听听听听/**听Called听when听the听activity听is听first听created.听*/
听听听听@Override
听听听听public听void听onCreate(Bundle听savedInstanceState)听{
听听听听听听听听super.onCreate(savedInstanceState);
听听听听听听听听//听璁剧疆镞犳爣棰樼獥鍙?/span>
听听听听听听听听requestWindowFeature(Window.FEATURE_NO_TITLE);
听听听听听听听听
听听听听听听听听LayoutInflater听inflater听=听getLayoutInflater();听听
听听听听听听听听pageViews听=听new听ArrayList<View>();听听
听听听听听听听听pageViews.add(inflater.inflate(R.layout.item05,听null));
听听听听听听听听pageViews.add(inflater.inflate(R.layout.item06,听null));
听听听听听听听听pageViews.add(inflater.inflate(R.layout.item01,听null));听听
听听听听听听听听pageViews.add(inflater.inflate(R.layout.item02,听null));听听
听听听听听听听听pageViews.add(inflater.inflate(R.layout.item03,听null));听听
听听听听听听听听pageViews.add(inflater.inflate(R.layout.item04,听null));听听
听听听听听听听听
听听听听听听听听imageViews听=听new听ImageView[pageViews.size()];听听
听听听听听听听听main听=听(ViewGroup)inflater.inflate(R.layout.main,听null);听听
听听听听听听听听
听听听听听听听听group听=听(ViewGroup)main.findViewById(R.id.viewGroup);听听
听听听听听听听听viewPager听=听(ViewPager)main.findViewById(R.id.guidePages);听听
听听听听听听听听
听听听听听听听听for听(int听i听=听0;听i听<听pageViews.size();听i++)听{听听
听听听听听听听听听听听听imageView听=听new听ImageView(MyGuideViewActivity.this);听听
听听听听听听听听听听听听imageView.setLayoutParams(new听LayoutParams(20,20));听听
听听听听听听听听听听听听imageView.setPadding(20,听0,听20,听0);听听
听听听听听听听听听听听听imageViews[i]听=听imageView;听听
听听听听听听听听听听听听
听听听听听听听听听听听听if听(i听==听0)听{听听
听听听听听听听听听听听听听听听听//榛樿阃変腑绗竴寮犲浘鐗?/span>
听听听听听听听听听听听听听听听听imageViews[i].setBackgroundResource(R.drawable.page_indicator_focused);听听
听听听听听听听听听听听听}听else听{听听
听听听听听听听听听听听听听听听听imageViews[i].setBackgroundResource(R.drawable.page_indicator);听听
听听听听听听听听听听听听}听听
听听听听听听听听听听听听
听听听听听听听听听听听听group.addView(imageViews[i]);听听
听听听听听听听听}听听
听听听听听听听听
听听听听听听听听setContentView(main);
听听听听听听听听
听听听听听听听听viewPager.setAdapter(new听GuidePageAdapter());听听
听听听听听听听听viewPager.setOnPageChangeListener(new听GuidePageChangeListener());听听
听听听听}
听听听听
听听听听//听鎸囧紩椤甸溃鏁版嵁阃傞厤鍣?/span>
听听听听class听GuidePageAdapter听extends听PagerAdapter听{听听
听听听听听听听听
听听听听听听听听@Override听听
听听听听听听听听public听int听getCount()听{听听
听听听听听听听听听听听听return听pageViews.size();听听
听听听听听听听听}听听
听听
听听听听听听听听@Override听听
听听听听听听听听public听boolean听isViewFromObject(View听arg0,听Object听arg1)听{听听
听听听听听听听听听听听听return听arg0听==听arg1;听听
听听听听听听听听}听听
听听
听听听听听听听听@Override听听
听听听听听听听听public听int听getItemPosition(Object听object)听{听听
听听听听听听听听听听听听//听TODO听Auto-generated听method听stub听听
听听听听听听听听听听听听return听super.getItemPosition(object);听听
听听听听听听听听}听听
听听
听听听听听听听听@Override听听
听听听听听听听听public听void听destroyItem(View听arg0,听int听arg1,听Object听arg2)听{听听
听听听听听听听听听听听听//听TODO听Auto-generated听method听stub听听
听听听听听听听听听听听听((ViewPager)听arg0).removeView(pageViews.get(arg1));听听
听听听听听听听听}听听
听听
听听听听听听听听@Override听听
听听听听听听听听public听Object听instantiateItem(View听arg0,听int听arg1)听{听听
听听听听听听听听听听听听//听TODO听Auto-generated听method听stub听听
听听听听听听听听听听听听((ViewPager)听arg0).addView(pageViews.get(arg1));听听
听听听听听听听听听听听听return听pageViews.get(arg1);听听
听听听听听听听听}听听
听听
听听听听听听听听@Override听听
听听听听听听听听public听void听restoreState(Parcelable听arg0,听ClassLoader听arg1)听{听听
听听听听听听听听听听听听//听TODO听Auto-generated听method听stub听听
听听
听听听听听听听听}听听
听听
听听听听听听听听@Override听听
听听听听听听听听public听Parcelable听saveState()听{听听
听听听听听听听听听听听听//听TODO听Auto-generated听method听stub听听
听听听听听听听听听听听听return听null;听听
听听听听听听听听}听听
听听
听听听听听听听听@Override听听
听听听听听听听听public听void听startUpdate(View听arg0)听{听听
听听听听听听听听听听听听//听TODO听Auto-generated听method听stub听听
听听
听听听听听听听听}听听
听听
听听听听听听听听@Override听听
听听听听听听听听public听void听finishUpdate(View听arg0)听{听听
听听听听听听听听听听听听//听TODO听Auto-generated听method听stub听听
听听
听听听听听听听听}听听
听听听听}听
听听听听
听听听听//听鎸囧紩椤甸溃镟存敼浜嬩欢鐩戝惉鍣?/span>
听听听听class听GuidePageChangeListener听implements听OnPageChangeListener听{听听
听听听听听听听听听听
听听听听听听听听@Override听听
听听听听听听听听public听void听onPageScrollStateChanged(int听arg0)听{听听
听听听听听听听听听听听听//听TODO听Auto-generated听method听stub听听
听听
听听听听听听听听}听听
听听
听听听听听听听听@Override听听
听听听听听听听听public听void听onPageScrolled(int听arg0,听float听arg1,听int听arg2)听{听听
听听听听听听听听听听听听//听TODO听Auto-generated听method听stub听听
听听
听听听听听听听听}听听
听听
听听听听听听听听@Override听听
听听听听听听听听public听void听onPageSelected(int听arg0)听{听听
听听听听听听听听听听听听for听(int听i听=听0;听i听<听imageViews.length;听i++)听{听听
听听听听听听听听听听听听听听听听imageViews[arg0].setBackgroundResource(R.drawable.page_indicator_focused);
听听听听听听听听听听听听听听听听
听听听听听听听听听听听听听听听听if听(arg0听!=听i)听{听听
听听听听听听听听听听听听听听听听听听听听imageViews[i].setBackgroundResource(R.drawable.page_indicator);听听
听听听听听听听听听听听听听听听听}听听
听听听听听听听听听听听听}
听听听听听听听听}听听
听听听听}听听
听听听听android:layout_width="fill_parent"
听听听听android:layout_height="fill_parent"
听听听听android:orientation="vertical"听>
听听听听<LinearLayout
听听听听听听听听android:id="@+id/linearLayout01"
听听听听听听听听android:layout_width="match_parent"
听听听听听听听听android:layout_height="wrap_content"
听听听听听听听听android:orientation="vertical"听>
听听听听</LinearLayout>听听听听
听听听听
听听听听<LinearLayout
听听听听听听听听android:id="@+id/linearLayout02"
听听听听听听听听android:layout_width="match_parent"
听听听听听听听听android:layout_height="wrap_content"
听听听听听听听听android:orientation="vertical"听
听听听听听听听听android:background="@drawable/divider_horizontal_line">
听听听听听听听听
听听听听</LinearLayout>
听听听听
听听听听<LinearLayout
听听听听听听听听android:id="@+id/linearLayout1"
听听听听听听听听android:layout_width="match_parent"
听听听听听听听听android:layout_height="wrap_content"
听听听听听听听听android:orientation="vertical"听>
听听听听听听听听<ImageView
听听听听听听听听听听听听android:layout_width="fill_parent"
听听听听听听听听听听听听android:layout_height="wrap_content"
听听听听听听听听听听听听android:background="@drawable/feature_guide_0"听>
听听听听听听听听</ImageView>
听听听听</LinearLayout>
听听听听<LinearLayout
听听听听听听听听android:id="@+id/linearLayout2"
听听听听听听听听android:layout_width="wrap_content"
听听听听听听听听android:layout_height="wrap_content"
听听听听听听听听android:orientation="vertical"
听听听听听听听听android:background="@drawable/bg"听>
听听听听听听听听
听听听听听听听听<LinearLayout
听听听听听听听听听听听听android:id="@+id/linearLayout2"
听听听听听听听听听听听听android:layout_width="wrap_content"
听听听听听听听听听听听听android:layout_height="wrap_content"
听听听听听听听听听听听听android:orientation="vertical"
听听听听听听听听听听听听android:layout_marginTop="30px"
听听听听听听听听听听听听android:layout_marginBottom="30px"
听听听听听听听听听听听听android:layout_marginLeft="30px"
听听听听听听听听听听听听android:layout_marginRight="30px"
听听听听听听听听听听听听android:background="@drawable/divider_horizontal_line"听>
听听听听听听听听</LinearLayout>
听听听听听听听听<LinearLayout
听听听听听听听听听听听听android:id="@+id/linearLayout3"
听听听听听听听听听听听听android:layout_width="match_parent"
听听听听听听听听听听听听android:layout_height="wrap_content"
听听听听听听听听听听听听android:orientation="vertical"听>
听听听听听听听听听听听听<TextView
听听听听听听听听听听听听听听听听android:id="@+id/textView1"
听听听听听听听听听听听听听听听听android:layout_width="wrap_content"
听听听听听听听听听听听听听听听听android:layout_height="wrap_content"
听听听听听听听听听听听听听听听听android:textColor="#000000"
听听听听听听听听听听听听听听听听android:paddingLeft="30px"
听听听听听听听听听听听听听听听听android:paddingRight="30px"
听听听听听听听听听听听听听听听听android:text="@string/text1"听/>
听听听听听听听听
听听听听听听听听</LinearLayout>
听听听听
听听听听</LinearLayout>
最后更新:2017-04-02 18:44:44