Skip to content

Commit

Permalink
ViewPager滑动
Browse files Browse the repository at this point in the history
  • Loading branch information
Moeyuuko committed Apr 7, 2020
1 parent c0004c5 commit ea0f568
Show file tree
Hide file tree
Showing 14 changed files with 207 additions and 9 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ android {
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.3"
versionName '1.4'

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Expand Down
9 changes: 7 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,13 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Main5Activity" android:screenOrientation="portrait"></activity>
<activity android:name=".Main4Activity" android:screenOrientation="portrait"></activity>
<activity android:name=".ViewPagerActivity"></activity>
<activity
android:name=".Main5Activity"
android:screenOrientation="portrait" />
<activity
android:name=".Main4Activity"
android:screenOrientation="portrait" />
<activity android:name=".Main3Activity" />
<activity android:name=".Main2Activity" />
<activity
Expand Down
18 changes: 15 additions & 3 deletions app/src/main/java/com/example/helloandroid/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public class MainActivity extends AppCompatActivity {
private Button button2;
private Button button4;
private Button button7;
private Button button9;

private TextView textView;
private int i;
Expand All @@ -31,6 +32,7 @@ protected void onCreate(Bundle savedInstanceState) {
button2 = (Button)findViewById(R.id.button2);
button4 = (Button)findViewById(R.id.button4);
button7 = (Button)findViewById(R.id.button7);
button9 = (Button)findViewById(R.id.button9);

textView = (TextView) findViewById(R.id.textView);//绑定组件
final String[] data={"Hello world!","你好世界!","こんにちは世界!","안녕하세요 세상!",
Expand All @@ -54,7 +56,7 @@ public void onClick(View view) {
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("新建窗口:", "2");
Log.i("新建窗口:", "Main2Activity");
Intent intent=new Intent(MainActivity.this,Main2Activity.class); //新建意图

startActivity(intent);
Expand All @@ -64,7 +66,7 @@ public void onClick(View view) {
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("新建窗口:", "3");
Log.i("新建窗口:", "Main3Activity");
Intent intent=new Intent(MainActivity.this,Main3Activity.class); //新建意图

startActivity(intent);
Expand All @@ -74,12 +76,22 @@ public void onClick(View view) {
button7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("新建窗口:", "4");
Log.i("新建窗口:", "Main4Activity");
Intent intent=new Intent(MainActivity.this,Main4Activity.class); //新建意图

startActivity(intent);
}
});

button9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("新建窗口:", "ViewPagerActivity");
Intent intent=new Intent(MainActivity.this,ViewPagerActivity.class); //新建意图

startActivity(intent);
}
});
}

}
40 changes: 40 additions & 0 deletions app/src/main/java/com/example/helloandroid/MyNewAdapter.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.example.helloandroid;

import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;

import java.util.List;

public class MyNewAdapter extends PagerAdapter {
List<View> views; //声明

public MyNewAdapter(List<View> views) { //构造方法 传入
this.views = views;
}

@Override
public int getCount() {
return views.size();
}

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

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

@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
((ViewPager)container).addView(views.get(position));
return views.get(position);
}
}
37 changes: 37 additions & 0 deletions app/src/main/java/com/example/helloandroid/ViewPagerActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.example.helloandroid;

import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;

import java.util.ArrayList;
import java.util.List;

public class ViewPagerActivity extends AppCompatActivity {
private ViewPager viewPager;
private List<View> views;
private MyNewAdapter myNewAdapter; //重写 继承 ViewPagerAdapter

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_pager);

viewPager = findViewById(R.id.ViewPager_1);
views = new ArrayList<View>();
LayoutInflater inflater = LayoutInflater.from(getApplicationContext());

View view1 = inflater.inflate(R.layout.activity_view_pager_1, null);
View view2 = inflater.inflate(R.layout.activity_view_pager_2, null);
View view3 = inflater.inflate(R.layout.activity_view_pager_3, null);
views.add(view1);
views.add(view2);
views.add(view3);

myNewAdapter = new MyNewAdapter(views);
viewPager.setAdapter(myNewAdapter);
}
}
13 changes: 12 additions & 1 deletion app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,22 @@
android:id="@+id/button7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginTop="5dp"
android:text="活动的信息传递"
android:textSize="18sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout" />

<Button
android:id="@+id/button9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="ViewPager滑动"
android:textSize="18sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button7" />

</androidx.constraintlayout.widget.ConstraintLayout>
4 changes: 4 additions & 0 deletions app/src/main/res/layout/activity_main4.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@
android:layout_height="45dp"
android:ems="10"
android:gravity="center"
android:hint="putExtra()的传递数据"
android:inputType="textPersonName"
android:maxLength="15"
android:text="putExtra()的传递数据"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
Expand All @@ -37,7 +39,9 @@
android:layout_height="wrap_content"
android:ems="10"
android:gravity="center"
android:hint="Bundle对象的传递数据"
android:inputType="textPersonName"
android:maxLength="15"
android:text="Bundle对象的传递数据"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/layout/activity_main5.xml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,9 @@
android:layout_height="wrap_content"
android:ems="10"
android:gravity="center"
android:hint="返回的数据"
android:inputType="textPersonName"
android:maxLength="15"
android:text="返回的数据"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
Expand Down
30 changes: 30 additions & 0 deletions app/src/main/res/layout/activity_view_pager.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ViewPagerActivity">

<androidx.viewpager.widget.ViewPager
android:id="@+id/ViewPager_1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginBottom="32dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />

<TextView
android:id="@+id/textView15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/moeyuuko"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ViewPager_1" />
</androidx.constraintlayout.widget.ConstraintLayout>
20 changes: 20 additions & 0 deletions app/src/main/res/layout/activity_view_pager_1.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/textView14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ViewPager 第1界面"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
18 changes: 18 additions & 0 deletions app/src/main/res/layout/activity_view_pager_2.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/textView13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ViewPager 第2界面"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
19 changes: 19 additions & 0 deletions app/src/main/res/layout/activity_view_pager_3.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/textView11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ViewPager 第3界面"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
2 changes: 1 addition & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<resources>
<string name="app_name">helloAndroid</string>
<string name="app_name">HelloAndroid</string>
<string name="moeyuuko">Moeyuuko</string>
</resources>
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ buildscript {

}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.1'
classpath 'com.android.tools.build:gradle:3.6.2'


// NOTE: Do not place your application dependencies here; they belong
Expand Down

0 comments on commit ea0f568

Please sign in to comment.