Android--爱意小程序

前几天花了半个小时帮好朋友做了一个表白的小程序,实现了一点基本的功能!

总流程如下:

1:点击运行程序会先出现一个7秒钟的视频(当然是他女朋友的)!

2:视频结束后会进入登录界面,界面写死,规定是他女朋友的姓名和出生年月日!

3:登录成功后会进入主界面(上面是一个轮播图(不停循环播放照片且配有文字),下面是一个爱心秀(会旋转且会播放音乐))(轮播图的照片和爱心的内容都是关于他女朋友的)

4:点击轮播图的照片或者爱心会弹出对话框,对话框里是他要说的话!

ps:用的Android代码方面的知识难点就应该轮播图的viewpage,其他没有什么了!

先上效果图(部分):

Android--爱意小程序_第1张图片

Android--爱意小程序_第2张图片 

Android--爱意小程序_第3张图片 

 Android--爱意小程序_第4张图片

 Android--爱意小程序_第5张图片

 

 PS:我只贴了轮播图和爱心旋转的源码,其他的不难就没有贴了,有需要源码和素材的可以私我,照片是我朋友的对象的,到时候换成你们想要更改的就行了!

话不多说,代码如下:

mainactivity:

package com.example.loopviewdemo;

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.VideoView;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private ViewPager viewPager;  //轮播图模块
    private int[] mImg;
    private int[] mImg_id;
    private String[] mDec;
    private ArrayList mImgList;
    private LinearLayout ll_dots_container;
    private TextView loop_dec;
    private int previousSelectedPosition = 0;
    boolean isRunning = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initLoopView();  //实现轮播图
        VideoView vv = this.findViewById(R.id.videoView);
        String x = "android.resource://" + getPackageName() + "/" + R.raw.zzz;
        vv.setVideoURI(Uri.parse(x));
        vv.start();
        vv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(final View view) {
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("love for zjy");
                builder.setMessage("537天是一种思念想念  ,思念是⼀种痛苦,⽽想念是⼀种煎熬,⽽过去的种.种却是⼀种⽆法挥去的阴影,可是⼼却⽆法这痛苦与煎熬,只想告诉你⼀句话:就是!我喜欢你。⼀辈⼦不长,遇到⾃⼰爱的⼈是⾮常难能可贵的,⼀定要把我的爱意喜欢开⼝说出来        做我对象吧");
                builder.setPositiveButton("好的呢",new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        initLoopView();  //实现轮播图
                        VideoView vv = view.findViewById(R.id.videoView);
                        String x = "android.resource://" + getPackageName() + "/" + R.raw.zzz;
                        vv.setVideoURI(Uri.parse(x));
                        vv.start();
                    }
                });
                builder.setNegativeButton("好人卡", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Intent intent = new Intent(Intent.ACTION_MAIN);
                        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        intent.addCategory(Intent.CATEGORY_HOME);
                        startActivity(intent);
                        System.exit(0);
                    }
                });

                builder.create().show();
            }
        });

    }

    private void initLoopView() {
        viewPager = (ViewPager)findViewById(R.id.loopviewpager);
        ll_dots_container = (LinearLayout)findViewById(R.id.ll_dots_loop);
        loop_dec = (TextView)findViewById(R.id.loop_dec);

        // 图片资源id数组
        mImg = new int[]{
                R.drawable.z1,
                R.drawable.z2,
                R.drawable.z3,
                R.drawable.z4,
                R.drawable.z5
        };

        // 文本描述
        mDec = new String[]{
                "遇见你,真的很幸运",
                "阳光晴朗,万物可爱",
                "一个人的出现真的会触动一个人的表现",
                "保持开心,保持可爱",
                "愿佳妍开心快乐每一天"
        };

        mImg_id = new int[]{
                R.id.pager_img1,
                R.id.pager_img2,
                R.id.pager_img3,
                R.id.pager_img4,
                R.id.pager_img5
        };

        // 初始化要展示的5个ImageView
        mImgList = new ArrayList();
        ImageView imageView;
        View dotView;
        LinearLayout.LayoutParams layoutParams;
        for(int i=0;i

loopviewadapter

package com.example.loopviewdemo;

import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import java.util.ArrayList;

class LoopViewAdapter extends PagerAdapter{

    private ArrayList imageViewList;

    public LoopViewAdapter(ArrayList mImgList){
        imageViewList = mImgList;
    }

    // 1. 返回要显示的条目内容, 创建条目
    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        // container: 容器: ViewPager
        // position: 当前要显示条目的位置 0 -> 4
        //newPosition = position % 5
        int newPosition = position % imageViewList.size();
        ImageView img = imageViewList.get(newPosition);
        // a. 把View对象添加到container中
        container.addView(img);
        // b. 把View对象返回给框架, 适配器
        return img;
    }

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

    @Override
    public int getCount() {
        return Integer.MAX_VALUE;   //返回一个无限大的值,可以 无限循环!!!!!
    }

    /**
     * 判断是否使用缓存, 如果返回的是true, 使用缓存. 不去调用instantiateItem方法创建一个新的对象
     */
    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
        return view == o ;
    }
}

pageonclicklistener

package com.example.loopviewdemo;

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.v7.app.AlertDialog;
import android.view.View;
import android.widget.Toast;

public class pagerOnClickListener implements View.OnClickListener{

    Context mContext;
    public pagerOnClickListener(Context mContext){
        this.mContext=mContext;
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.pager_img1:
                Toast.makeText(mContext, "讨厌,点到美女了!", Toast.LENGTH_LONG).show();
                break;
            case R.id.pager_img2:
                Toast.makeText(mContext, "别点了,自己的照片还要点", Toast.LENGTH_LONG).show();
                break;
            case R.id.pager_img3:
                Toast.makeText(mContext, "app虽然简单,但是也花了时间的哦", Toast.LENGTH_LONG).show();
                break;
            case R.id.pager_img4:
                Toast.makeText(mContext, "要保持开心呀", Toast.LENGTH_LONG).show();
                break;
            case R.id.pager_img5:
                Toast.makeText(mContext, "热爱可抵岁月漫长", Toast.LENGTH_LONG).show();
                break;
        }
    }
}

xml界面:




    
    
    

    
        
        
        
        
        
    

    



你可能感兴趣的:(Android基础知识,小程序)