當前位置:首頁 » 安卓系統 » android引導頁

android引導頁

發布時間: 2022-01-17 00:00:33

⑴ 在學android開發時,用viewpaper做了個引導頁,在最後一頁添加了一個按鈕,點擊它,跳轉

在按鈕響應里加上這三行代碼就好:Uriuri=Uri.parse("");Intentintent=newIntent(Intent.ACTION_VIEW,uri);startActivity(intent);

⑵ android 新手引導頁和閃屏頁哪個在前面

1. 新手引導頁和閃屏頁是這樣的需求。

  1. 第一次載入APP的時候是需要進行新手引導的。

  2. 當一次關閉後,才會進入閃屏頁。

2. 直接使用閃屏頁進入APP,然後使用新手引導來幫助用戶操作APP


這個都是看需求定的。沒有規定誰先在前誰在後

⑶ android 引導頁提示框,該怎麼解決

不知道樓主要做什麼效果,如果只為判斷何時顯示的話,在引導頁定義一個/**

* 進入下一頁

*/

private void goNextPage() {

// 是否是第一次載入

String isFirestLoad = Util.getSharePersistent(

activity.getApplicationContext(), FIREST_LOAD);

if (isFirestLoad != null && isFirestLoad.equals("true")) {

Intent intent = new Intent();

intent.setClass(this, welcome.class);

startActivityForResult(intent, 0);

}

}
在oncreat中判斷goNextPage();
/**
* 關閉引導頁的操作
*/
close = (ImageButton) findViewById(R.id.close);
close.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Util.saveSharePersistent(activity.getApplicationContext(),
FIREST_LOAD, "true");
goNextPage();
}

⑷ android studio引導頁怎麼做

引導頁的話,一般使用框架就可以了,也可以叫美工製作,然後使用一些視頻播放的技巧。

⑸ Android中,用fragment做引導頁面,在跳轉到activity之後,按返回鍵又回到了最後

fragment是依附在activity里的啊,跳轉到activity之後,銷毀那個包含有fragment的activity就行了。

⑹ android studio怎麼設置引導頁

基本上現在所有的應用都會有一個歡迎界面,在歡迎界面對應用做一個整體的介紹,然後在跳入到主界面,這次要說的這個引導頁就是帶翻頁的引導頁。效果如下所示



概要實現

主要分為兩部分功能,一個是翻頁效果,一個是頁面位置指示器。為了實現翻頁效果我採用系統自帶的ViewPager對象來實現;頁面指示器則通過一個LinearLayout在其中放置相應個數的圖片,然後根據頁面的滑動動態修改各個圖片的資源。布局文件如下所示



復制代碼
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 tools:context=".MainActivity" >
6
7 <android.support.v4.view.ViewPager
8 xmlns:android="http://schemas.android.com/apk/res/android"
9 android:id="@+id/welcome_pager"
10 android:layout_width="match_parent"
11 android:layout_height="match_parent" />
12
13 <!-- 圖片位置指示器 -->
14 <LinearLayout
15 android:id="@+id/director"
16 android:layout_width="match_parent"
17 android:layout_height="wrap_content"
18 android:gravity="center_horizontal"
19 android:orientation="horizontal"
20 android:layout_marginBottom="15dip"
21 android:layout_alignParentBottom="true"
22 >
23
24 <ImageView
25 android:layout_width="wrap_content"
26 android:layout_height="wrap_content"
27 android:background="@drawable/pageindicator_on" />
28
29 <ImageView
30 android:layout_width="wrap_content"
31 android:layout_height="wrap_content"
32 android:background="@drawable/pageindicator_off" />
33
34 <ImageView
35 android:layout_width="wrap_content"
36 android:layout_height="wrap_content"
37 android:background="@drawable/pageindicator_off" />
38
39 <ImageView
40 android:layout_width="wrap_content"
41 android:layout_height="wrap_content"
42 android:background="@drawable/pageindicator_off" />
43 </LinearLayout>
44
45 </RelativeLayout>
復制代碼

ViewPager

先來看下官方解釋:Layout manager that allows the user to flip left and right through pages of data.意思是說,Viewpage是一個允許用戶在多個頁面數據之間通過左滑或者右滑的方式切換頁面數據的布局管理器。

主要功能點有兩部分,數據適配器Adapter,和事件監聽器OnPageChangeListener。數據適配器用來管理這個ViewPager對象的顯示內容,而OnPageChangeListener用來處理當頁面切換的時候的行為動作,我修改頁面指示器就是通過這個事件來完成的。

適配器



復制代碼
1 class pagerAdapter extends FragmentPagerAdapter{
2
3 public pagerAdapter(FragmentManager fm) {
4 super(fm);
5 }
6
7 @Override
8 public Fragment getItem(int arg0) {
9 //得到要顯示的對象並初始化圖片
10 WelcomeFragment fm = new WelcomeFragment();
11 fm.setImg(imgs.get(arg0));
12
13 return fm;
14 }
15
16 @Override
17 public int getCount() {
18 return imgs.size();
19 }
20
21 }
復制代碼
上面這段就是ViewPager要用的適配器了,其中imgs是一個id數組,存放了要在歡迎界面展示的圖片的id,WelcomeFragment是一個Fragment類,用來展示頁面內容,這兩個代碼會在完整代碼中體現。兩個方法需要實現,getCout,用來表示有多少個頁面;getItem,用來獲取指定位置的Pager對象。

imgs數組定義及實現:

復制代碼
1 List<Integer> imgs = null;
2 //初始化歡迎界面圖片數組
3 imgs = new ArrayList<Integer>();
4 imgs.add(R.drawable.help1);
5 imgs.add(R.drawable.help2);
6 imgs.add(R.drawable.help3);
7 imgs.add(R.drawable.help4);
復制代碼
WelcomeFragment類定義



復制代碼
1 public class WelcomeFragment extends Fragment {
2
3 View view = null;
4 int imgId ;
5 @Override
6 public View onCreateView(LayoutInflater inflater, ViewGroup container,
7 Bundle savedInstanceState) {
8 view = inflater.inflate(R.layout.welcome_fragment, null);
9
10 ImageView fragmentVw = (ImageView) view.findViewById(R.id.welcome_Img);
11 fragmentVw.setBackgroundResource(imgId);
12 return view;
13 }
14
15 /**
16 * 為該Fragment設置顯示圖片
17 * */
18 public void setImg(int imgID){
19
20 imgId = imgID;
21 }
22 }
復制代碼
WelcomeFragment布局文件

復制代碼
1 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 android:layout_width="match_parent"
3 android:layout_height="match_parent" >
4
5 <ImageView
6 android:id="@+id/welcome_Img"
7 android:contentDescription="welcome"
8 android:layout_width="match_parent"
9 android:layout_height="match_parent" />
10
11 </FrameLayout>
復制代碼


事件監聽器OnPageChangeListener

這個監聽器用來監聽頁面切換事件,實現這個介面用來處理頁面切換時,頁面指示器跟著改變狀態。實現代碼如下

復制代碼
1 /**
2 * 頁面切換的事件監聽器
3 * */
4 class pageChangeListener implements OnPageChangeListener{
5
6 /**
7 * 當某一個頁面被選中的時候觸發
8 * */
9 @Override
10 public void onPageSelected(int arg0) {
11 int count = directorLayout.getChildCount();
12 /**
13 * 指示器自對象順序和頁面顯示順序一樣的設置為on,其餘的設置為off
14 * */
15 for(int i=0;i<count;i++){
16 ImageView iv = (ImageView) directorLayout.getChildAt(i);
17 if(i == arg0){
18 iv.setBackgroundResource(R.drawable.pageindicator_on);
19 }else{
20 iv.setBackgroundResource(R.drawable.pageindicator_off);
21 }
22 }
23 }
24
25 @Override
26 public void onPageScrolled(int arg0, float arg1, int arg2) {
27 // TODO Auto-generated method stub
28 }
29
30 @Override
31 public void onPageScrollStateChanged(int arg0) {
32 // TODO Auto-generated method stub
33 }
34 }

⑺ android studio怎麼設置引導頁20170819 08:27

點擊菜單欄的「File」->「Settings」。

在打開的Settings頁面中,點擊IDE Settings部分下面的Keymap,頁面右邊展示keymap的內容。

假如我們要修改刪除一行的快捷鍵,默認的快捷鍵是Ctrl+Y,如圖。

在選中的行上面雙擊,在彈出的窗口中選擇Add Keyboard Shortcut。

在彈出的Enter Keyboard Shortcut頁面中,在First Stroke下面的輸入框中輸入我們想要設置的快捷鍵,比如:ctrl+shift+d,然後點擊ok。

以上是修改單個快捷鍵的方式。當然,如果你喜歡使用eclipse的快捷鍵,想在android studio中完全使用eclipse的快捷鍵,也是可以的。只需要Keymaps後面的選擇框中選擇eclipse就可以了。

⑻ android怎麼從引導頁進入主頁

1 import android.app.Activity;
2 import android.content.Intent;
3 import android.content.SharedPreferences;
4 import android.content.SharedPreferences.Editor;
5 import android.os.Bundle;
6 import android.os.Handler;
7
8 /** 歡迎界面 */
9 public class WelcomeAct extends Activity {
10
11 private boolean isFirstIn = false;
12 private static final int TIME = 2000;
13 private static final int GO_HOME = 1000;
14 private static final int GO_GUIDE = 1001;
15
16 private Handler mHandler = new Handler() {
17 public void handleMessage(android.os.Message msg) {
18 switch (msg.what) {
19 // 跳入主界面
20 case GO_HOME:
21 goHome();
22 break;
23 // 跳入引導頁
24 case GO_GUIDE:
25 goGuide();
26 break;
27 }
28 };
29 };
30
31 @Override
32 protected void onCreate(Bundle savedInstanceState) {
33 super.onCreate(savedInstanceState);
34 setContentView(R.layout.welcome);
35 init();
36 }
37
38 private void init() {
39 SharedPreferences perPreferences = getSharedPreferences("jike",
40 MODE_PRIVATE);
41 isFirstIn = perPreferences.getBoolean("isFirstIn", true);
42 if (!isFirstIn) {
43 mHandler.sendEmptyMessageDelayed(GO_HOME, TIME);
44 } else {
45 mHandler.sendEmptyMessageDelayed(GO_GUIDE, TIME);
46 Editor editor = perPreferences.edit();
47 editor.putBoolean("isFirstIn", false);
48 editor.commit();
49 }
50 }
51
52 private void goHome() {
53 Intent i = new Intent(WelcomeAct.this, MainActivity.class);
54 startActivity(i);
55 finish();
56 }
57
58 private void goGuide() {
59 Intent i = new Intent(WelcomeAct.this, Guide.class);
60 startActivity(i);
61 finish();
62 }
63
64 }

1 import java.util.ArrayList;
2 import java.util.List;
3 import android.app.Activity;
4 import android.content.Intent;
5 import android.os.Bundle;
6 import android.support.v4.view.ViewPager;
7 import android.support.v4.view.ViewPager.OnPageChangeListener;
8 import android.view.LayoutInflater;
9 import android.view.View;
10 import android.view.View.OnClickListener;
11 import android.widget.Button;
12 import android.widget.ImageView;
13
14 /** 引導頁 */
15 public class Guide extends Activity implements OnPageChangeListener {
16
17 private ViewPager vp;
18 private ViewPagerAdapter vpAdapter;
19 private List<View> views;
20 private ImageView[] dots;
21 private int[] ids = { R.id.iv1, R.id.iv2, R.id.iv3 };
22 private Button start_btn;
23
24 @Override
25 protected void onCreate(Bundle savedInstanceState) {
26 super.onCreate(savedInstanceState);
27 setContentView(R.layout.guide);
28 initViews();
29 initDots();
30 }
31
32 private void initViews() {
33 LayoutInflater inflater = LayoutInflater.from(this);
34
35 views = new ArrayList<View>();
36 views.add(inflater.inflate(R.layout.one, null));
37 views.add(inflater.inflate(R.layout.two, null));
38 views.add(inflater.inflate(R.layout.three, null));
39
40 vpAdapter = new ViewPagerAdapter(views, this);
41 vp = (ViewPager) findViewById(R.id.viewpager);
42 vp.setAdapter(vpAdapter);
43 // 下標從0開始,所以第三個頁面是get(2)。
44 start_btn = (Button) views.get(2).findViewById(R.id.start_btn);
45 start_btn.setOnClickListener(new OnClickListener() {
46 @Override
47 public void onClick(View arg0) {
48 Intent i = new Intent(Guide.this, MainActivity.class);
49 startActivity(i);
50 finish();
51 }
52 });
53 vp.setOnPageChangeListener(this);
54 }
55
56 /** 循環設置點 */
57 private void initDots() {
58 dots = new ImageView[views.size()];
59 for (int i = 0; i < views.size(); i++) {
60 dots[i] = (ImageView) findViewById(ids[i]);
61 }
62 }
63
64 @Override /** 滑動狀態改變的時候 */
65 public void onPageScrollStateChanged(int arg0) {
66 // TODO Auto-generated method stub
67 }
68
69 @Override /** 當頁面被滑動時候調用 */
70 public void onPageScrolled(int arg0, float arg1, int arg2) {
71 // TODO Auto-generated method stub
72 }
73
74 @Override /** 當前新的頁面被選中時調用 */
75 public void onPageSelected(int arg0) {
76 for (int i = 0; i < ids.length; i++) {
77 if (arg0 == i) {
78 // 亮點
79 dots[i].setImageResource(R.drawable.login_point_selected);
80 } else {
81 // 暗點
82 dots[i].setImageResource(R.drawable.login_point);
83 }
84 }
85 }
86
87 }
1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent" >
5
6 <android.support.v4.view.ViewPager
7 android:id="@+id/viewpager"
8 android:layout_width="fill_parent"
9 android:layout_height="fill_parent"
10 android:background="#00000000" >
11 </android.support.v4.view.ViewPager>
12
13 <!-- 底部三個點 -->
14 <LinearLayout
15 android:id="@+id/ll"
16 android:layout_width="fill_parent"
17 android:layout_height="wrap_content"
18 android:layout_alignParentBottom="true"
19 android:gravity="center_horizontal"
20 android:orientation="horizontal" >
21 <!-- 選中點 -->
22 <ImageView
23 android:id="@+id/iv1"
24 android:layout_width="wrap_content"
25 android:layout_height="wrap_content"
26 android:src="@drawable/login_point_selected" />
27 <!-- 未選中點 -->
28 <ImageView
29 android:id="@+id/iv2"
30 android:layout_width="wrap_content"
31 android:layout_height="wrap_content"
32 android:src="@drawable/login_point" />
33 <!-- 未選中點 -->
34 <ImageView
35 android:id="@+id/iv3"
36 android:layout_width="wrap_content"
37 android:layout_height="wrap_content"
38 android:src="@drawable/login_point" />
39 </LinearLayout>
40
41 </RelativeLayout>

⑼ android引導頁在最後一個頁面在滑動跳轉頁面怎麼做

第一個activity
package com.qualitypicture.activity;
import java.util.ArrayList;
import java.util.List;
import com.qualitypicture.R;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
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.util.DisplayMetrics;
import android.view.GestureDetector;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
public class GuideActivity extends Activity
{
private ViewPager viewPager;
private List<View> mImageViews; // 滑動的圖片集合
private int[] imageResId; // 圖片ID
private int currentItem = 0; // 當前圖片的索引號
private GestureDetector gestureDetector; // 用戶滑動
/** 記錄當前分頁ID */
private int flaggingWidth;// 互動翻頁所需滾動的長度是當前屏幕寬度的1/3
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉標題欄
setContentView(R.layout.guide_activity);
gestureDetector = new GestureDetector(new GuideViewTouch());
// 獲取解析度
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
flaggingWidth = dm.widthPixels / 3;
imageResId = new int[]
{ R.drawable.pic_1, R.drawable.pic_2, R.drawable.pic_3, R.drawable.pic_4 };
mImageViews = new ArrayList<View>();
// 初始化圖片資源
LayoutInflater viewInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// 0
View convertView0 = viewInflater.inflate(R.layout.guide_item, null);
LinearLayout linearLayout0 = (LinearLayout) convertView0.findViewById(R.id.guide_item);
linearLayout0.setBackgroundResource(imageResId[0]);
mImageViews.add(linearLayout0);
// 1
View convertView1 = viewInflater.inflate(R.layout.guide_item, null);
LinearLayout linearLayout1 = (LinearLayout) convertView1.findViewById(R.id.guide_item);
linearLayout1.setBackgroundResource(imageResId[1]);
mImageViews.add(linearLayout1);
// 2
View convertView2 = viewInflater.inflate(R.layout.guide_item, null);
LinearLayout linearLayout2 = (LinearLayout) convertView2.findViewById(R.id.guide_item);
linearLayout2.setBackgroundResource(imageResId[2]);
mImageViews.add(linearLayout2);
// 3
View convertView3 = viewInflater.inflate(R.layout.guide_item, null);
LinearLayout linearLayout3 = (LinearLayout) convertView3.findViewById(R.id.guide_item);
linearLayout3.setBackgroundResource(imageResId[3]);
mImageViews.add(linearLayout3);
// button監聽
Button btn = (Button) convertView3.findViewById(R.id.start);
btn.setVisibility(View.VISIBLE);
btn.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
GoToMainActivity();
}
});
viewPager = (ViewPager) findViewById(R.id.guide_view);
viewPager.setAdapter(new MyAdapter());// 設置填充ViewPager頁面的適配器
// 設置一個監聽器,當ViewPager中的頁面改變時調用
viewPager.setOnPageChangeListener(new MyPageChangeListener());
}
@Override
public boolean dispatchTouchEvent(MotionEvent event)
{
if (gestureDetector.onTouchEvent(event))
{
event.setAction(MotionEvent.ACTION_CANCEL);
}
return super.dispatchTouchEvent(event);
}
private class GuideViewTouch extends SimpleOnGestureListener
{
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
if (currentItem == 3)
{
if (Math.abs(e1.getX() - e2.getX()) > Math.abs(e1.getY() - e2.getY()) && (e1.getX() - e2.getX() <= (-flaggingWidth) || e1.getX() - e2.getX() >= flaggingWidth))
{
if (e1.getX() - e2.getX() >= flaggingWidth)
{
GoToMainActivity();
return true;
}
}
}
return false;
}
}
/**
* 進入主界面
*/
void GoToMainActivity()
{
Intent intent = new Intent(GuideActivity.this, TabHostActivity.class);
startActivity(intent);
finish();
}
/**
* 當ViewPager中頁面的狀態發生改變時調用
*
* @author Administrator
*
*/
private class MyPageChangeListener implements OnPageChangeListener
{
public void onPageSelected(int position)
{
currentItem = position;
}
public void onPageScrollStateChanged(int arg0)
{
}
public void onPageScrolled(int arg0, float arg1, int arg2)
{
}
}
/**
* 填充ViewPager頁面的適配器
*
* @author Administrator
*
*/
private class MyAdapter extends PagerAdapter
{
@Override
public int getCount()
{
return imageResId.length;
}
@Override
public Object instantiateItem(View arg0, int arg1)
{
((ViewPager) arg0).addView(mImageViews.get(arg1));
return mImageViews.get(arg1);
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2)
{
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1)
{
return arg0 == arg1;
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1)
{
}
@Override
public Parcelable saveState()
{
return null;
}
@Override
public void startUpdate(View arg0)
{
}
@Override
public void finishUpdate(View arg0)
{
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK)
{
GoToMainActivity();
return false;
}
return super.onKeyDown(keyCode, event);
}
}

布局文件
第一個
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<android.support.v4.view.ViewPager
android:id="@+id/guide_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
第二個
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android"
android:id="@+id/guide_item"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="5" />
<Button
android:id="@+id/start"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00000000"
android:text="@string/butTxt"
android:textColor="#00000000"
android:visibility="gone" >
</Button>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
大家用的時候文件名要寫對,好友圖片也要相應的放到文件中去!

熱點內容
c語言的百分號 發布:2024-11-15 11:34:24 瀏覽:31
一加五安卓8什麼時候推送 發布:2024-11-15 11:19:40 瀏覽:854
暗影騎士擎有哪些配置 發布:2024-11-15 11:13:46 瀏覽:598
方舟主機專用伺服器是什麼意思 發布:2024-11-15 11:12:23 瀏覽:8
創維最早的伺服器是什麼 發布:2024-11-15 11:11:35 瀏覽:864
手機配置太低怎麼下載原聲 發布:2024-11-15 11:03:31 瀏覽:905
21款奧迪a6配置有哪些 發布:2024-11-15 11:03:20 瀏覽:120
sql內連接外連接 發布:2024-11-15 11:03:19 瀏覽:601
學完python基礎 發布:2024-11-15 11:01:56 瀏覽:63
捏泡膠解壓 發布:2024-11-15 10:55:07 瀏覽:803