gpt4 book ai didi

Android "first time"app用户教程

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:35:38 26 4
gpt4 key购买 nike

我正在尝试为我的应用程序创建一个包含四个 Pane 的开始教程,但由于我是 Android 的新手,我想确保在将此任务标记为“完成”之前考虑了所有选项”。我知道三种方法,我只能真正做到一种。本教程没有要求,但一些“想要的功能”将是对每个 Pane 的滑动操作以及图像和底部(导航圆圈)不移动以及顶部标题不移动会很好。

单向

4 个独立的 Activity 和 4 个独立的布局

First attempt

红色圆圈项是水平居中并从顶部推开的 textViews

白色圆圈项是水平和垂直居中的 imageViews

紫色圆圈是水平居中并从底部推出的 imageViews

第二种方式

一项 Activity 的 4 个 fragment

Fragments 很难学,但我对它们的了解越多/看到它们的教程,它们似乎只真正用于平板电脑。这是实现这一目标的有效方法吗?

第三条路

ViewPager?

http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html

我以前从未使用过这个,但我知道这是一个选项。

最后一个问题

哪种方式更常用/什么是正确的实现方式?有没有办法只让中间部分(图像)滑入,但标题(顶部)和导航图像(底部)在图像滑入后才改变?

最佳答案

这里有一些代码以 ViewPager 的方式完成它(这正是你的方式)

package com.test.viewpager;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

public class WalkthroughActivity extends Activity {

private static final int MAX_VIEWS = 5;

ViewPager mViewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.walkthrough_activity);
mViewPager = (ViewPager) findViewById(R.id.view_pager);
mViewPager.setAdapter(new WalkthroughPagerAdapter());
mViewPager.setOnPageChangeListener(new WalkthroughPageChangeListener());
}


class WalkthroughPagerAdapter extends PagerAdapter {

@Override
public int getCount() {
return MAX_VIEWS;
}

@Override
public boolean isViewFromObject(View view, Object object) {
return view == (View) object;
}

@Override
public Object instantiateItem(View container, int position) {
Log.e("walkthrough", "instantiateItem(" + position + ");");
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View imageViewContainer = inflater.inflate(R.layout.walkthrough_single_view, null);
ImageView imageView = (ImageView) imageViewContainer.findViewById(R.id.image_view);

switch(position) {
case 0:
imageView.setImageResource(R.drawable.image1);
break;

case 1:
imageView.setImageResource(R.drawable.image2);
break;

case 2:
imageView.setImageResource(R.drawable.image3);
break;

case 3:
imageView.setImageResource(R.drawable.image4);
break;

case 4:
imageView.setImageResource(R.drawable.image5);
break;
}

((ViewPager) container).addView(imageViewContainer, 0);
return imageViewContainer;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager)container).removeView((View)object);
}
}


class WalkthroughPageChangeListener implements ViewPager.OnPageChangeListener {

@Override
public void onPageScrollStateChanged(int arg0) {

}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {

}

@Override
public void onPageSelected(int position) {
// Here is where you should show change the view of page indicator
switch(position) {

case MAX_VIEWS - 1:
break;

default:

}

}

}
}

这是我的walkthrough_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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/view_pager"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/screen_navigation_button" />

<!-- This TextView will not swipe when you swipe in the ViewPager -->

<TextView
android:id="@id/screen_navigation_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center"
android:padding="10dip"
android:text="Hello, Walkthrough!"
android:textSize="18sp" />

</RelativeLayout>

walkthrough_single_view.xml 就这么简单 -

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/image_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />

希望对您有所帮助:)

关于Android "first time"app用户教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11279144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com