android中炫酷划屏事件及sqlite全部操作Demo(1)

2024-04-29 20:08

本文主要是介绍android中炫酷划屏事件及sqlite全部操作Demo(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、首先设计main.xml文件

<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/myFilpper"android:layout_width="fill_parent"android:layout_height="fill_parent"><LinearLayout android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@color/red"><TextView android:id="@+id/tv1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:textColor="@drawable/black"android:textSize="30dip"/><Spinner android:id="@+id/sp1"android:entries="@array/citys"android:layout_gravity="center_horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"/><ImageView android:id="@+id/im1"android:src="@drawable/icon"android:layout_gravity="center_horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content"/></LinearLayout><LinearLayout android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@color/green"><TextView android:id="@+id/tv2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:textColor="@drawable/black"android:textSize="30dip"/><Spinner android:id="@+id/sp2"android:entries="@array/citys"android:layout_gravity="center_horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"/><ImageView android:id="@+id/im2"android:src="@drawable/icon"android:layout_gravity="center_horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content"/></LinearLayout><LinearLayout android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@color/blue"><TextView android:id="@+id/tv3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:textColor="@drawable/black"android:textSize="30dip"/><Spinner android:id="@+id/sp3"android:entries="@array/citys"android:layout_gravity="center_horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"/><ImageView android:id="@+id/im3"android:src="@drawable/icon"android:layout_gravity="center_horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content"/></LinearLayout></ViewFlipper>
 

2、编写界面切换是的效果(xml)

2.1、push_left_in.xml和push_left_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="100%p" android:toXDelta="0"android:duration="500" /><alpha android:fromAlpha="0.1" android:toAlpha="1.0"android:duration="500" />
</set><?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="0" android:toXDelta="-100%p"android:duration="500" /><alpha android:fromAlpha="1.0" android:toAlpha="0.1"android:duration="500" />
</set>
 

  2.2、push_right_in.xml和push_right_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="-100%p" android:toXDelta="0"android:duration="500" /><alpha android:fromAlpha="0.1" android:toAlpha="1.0"android:duration="500" />
</set><?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="0" android:toXDelta="100%p"android:duration="500" /><alpha android:fromAlpha="1.0" android:toAlpha="0.1"android:duration="500" />
</set>
   

3、编写activity实现OnGestureListener接口

 

package com.jftt;import java.util.List;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.ViewFlipper;import com.jftt.pojo.City;
import com.jftt.pojo.City_Web;
import com.jftt.pojo.WebSite;
import com.jftt.service.DBManager;public class FlipperDemo extends Activity implements OnGestureListener {private ViewFlipper flipper;private GestureDetector detector;private TextView tv1, tv2, tv3;private Spinner sp1, sp2, sp3;private ImageView im1, im2, im3;private ArrayAdapter<String> adapter;private List<String> citys1, citys2, citys3;private DBManager dbManager;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);dbManager = new DBManager(this);addData();tv1 = (TextView) findViewById(R.id.tv1);tv2 = (TextView) findViewById(R.id.tv2);tv3 = (TextView) findViewById(R.id.tv3);sp1 = (Spinner) findViewById(R.id.sp1);sp2 = (Spinner) findViewById(R.id.sp2);sp3 = (Spinner) findViewById(R.id.sp3);im1 = (ImageView) findViewById(R.id.im1);im2 = (ImageView) findViewById(R.id.im2);im3 = (ImageView) findViewById(R.id.im3);detector = new GestureDetector(this);flipper = (ViewFlipper) findViewById(R.id.myFilpper);tv1.setText("拉手");tv2.setText("淘宝");tv3.setText("阿里巴巴");citys1 = dbManager.findCitiesByIDs(dbManager.findCityIdByWebID(1));Log.e("myTag", dbManager.findCityIdByWebID(1).toString());Log.e("myTag", dbManager.findCitiesByIDs(dbManager.findCityIdByWebID(1)).toString());adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, citys1);// 设置下拉样式adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// 为下拉列表设置适配器sp1.setAdapter(adapter);// 定义子元素选择监听器// 为下拉列表绑定事件监听器sp1.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view,int position, long id) {im1.setImageResource(getIcon(dbManager.findCityPicByCityName(sp1.getSelectedItem().toString())));}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}});citys2 = dbManager.findCitiesByIDs(dbManager.findCityIdByWebID(2));adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, citys2);// 设置下拉样式adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// 为下拉列表设置适配器sp2.setAdapter(adapter);// 定义子元素选择监听器// 为下拉列表绑定事件监听器sp2.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view,int position, long id) {im2.setImageResource(getIcon(dbManager.findCityPicByCityName(sp2.getSelectedItem().toString())));}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}});citys3 = dbManager.findCitiesByIDs(dbManager.findCityIdByWebID(3));adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, citys3);// 设置下拉样式adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// 为下拉列表设置适配器sp3.setAdapter(adapter);// 定义子元素选择监听器// 为下拉列表绑定事件监听器sp3.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view,int position, long id) {im3.setImageResource(getIcon(dbManager.findCityPicByCityName(sp3.getSelectedItem().toString())));}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}});}private int getIcon(String cityName) {if (cityName.equals("suzhou")) {return R.drawable.suzhou;}if (cityName.equals("beijing")) {return R.drawable.beijing;}if (cityName.equals("zhengzhou")) {return R.drawable.zhengzhou;}if (cityName.equals("guangzhou")) {return R.drawable.guangzhou;}if (cityName.equals("shenzhen")) {return R.drawable.shenzhen;}if (cityName.equals("chengdu")) {return R.drawable.chengdu;}if (cityName.equals("dalian")) {return R.drawable.dalian;}if (cityName.equals("shanghai")) {return R.drawable.shanghai;}if (cityName.equals("wuhan")) {return R.drawable.wuhan;}return 0;}private void addData() {if (dbManager.getCwCount() == 0) {City_Web[] cityWebs = new City_Web[] { new City_Web(1, 1),new City_Web(3, 1), new City_Web(5, 1), new City_Web(7, 1),new City_Web(2, 2), new City_Web(4, 2), new City_Web(6, 2),new City_Web(8, 2), new City_Web(1, 3), new City_Web(3, 3),new City_Web(5, 3), new City_Web(7, 3), new City_Web(9, 3) };dbManager.insertCws(cityWebs);}if (dbManager.getCityCount() == 0) {City[] cities = new City[] { new City("苏州", "suzhou"),new City("北京", "beijing"), new City("郑州", "zhengzhou"),new City("广州", "guangzhou"), new City("深圳", "shenzhen"),new City("成都", "chengdu"), new City("大连", "dalian"),new City("上海", "shanghai"), new City("武汉", "wuhan"), };dbManager.insertCities(cities);}if (dbManager.getWebCount() == 0) {WebSite[] webSites = new WebSite[] {new WebSite("拉手", "http://www.lashou.com"),new WebSite("淘宝", "http://www.taobao.com"),new WebSite("阿里巴巴", "http://www.alibaba.com") };dbManager.insertWebSite(webSites);}}@Overridepublic boolean onTouchEvent(MotionEvent event) {return detector.onTouchEvent(event);}@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {if (e1.getX() - e2.getX() > 120) {this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.push_left_in));this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.push_left_out));this.flipper.showNext();return true;} else if (e1.getX() - e2.getX() < -120) {this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.push_right_in));this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.push_right_out));this.flipper.showPrevious();return true;}return false;}@Overridepublic boolean onDown(MotionEvent e) {return false;}@Overridepublic void onLongPress(MotionEvent e) {}@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,float distanceY) {return false;}@Overridepublic void onShowPress(MotionEvent e) {}@Overridepublic boolean onSingleTapUp(MotionEvent e) {return false;}
}

 

这篇关于android中炫酷划屏事件及sqlite全部操作Demo(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/947041

相关文章

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(