实战 QQ demo源码(本例中有该应用)
服务器端下载:http://download.csdn.net/download/knight_black_bob/9822551
android eclipse 版:http://download.csdn.net/download/knight_black_bob/9822553
android stdio 版本:http://download.csdn.net/download/knight_black_bob/9822556
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/imageView_firstslide" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitXY" android:src="@drawable/firstslide_8" /> <TextView android:id="@+id/textView_firstslide_btn" android:layout_width="107dp" android:layout_height="32dp" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="60dp" android:gravity="center" android:background="@drawable/tb" android:text="@string/firstslide_rightnow" android:textColor="#4b4a4a" android:textSize="14sp" /> </RelativeLayout>
activity_firstslide.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" > <android.support.v4.view.ViewPager android:id="@+id/vp_firstslider" style="@style/listView_normal_style" android:layout_width="match_parent" android:layout_height="match_parent" > </android.support.v4.view.ViewPager> <LinearLayout android:id="@+id/layout_point_bg" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="20dp" android:gravity="center_vertical" android:orientation="horizontal" > <View android:layout_width="20dp" android:layout_height="20dp" android:background="@drawable/firstslide_point" /> <View android:layout_width="20dp" android:layout_height="20dp" android:background="@drawable/firstslide_point" /> <View android:layout_width="20dp" android:layout_height="20dp" android:background="@drawable/firstslide_point" /> <View android:layout_width="20dp" android:layout_height="20dp" android:background="@drawable/firstslide_point" /> </LinearLayout> <LinearLayout android:id="@+id/layout_point" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/layout_point_bg" android:layout_alignLeft="@+id/layout_point_bg" android:layout_alignRight="@+id/layout_point_bg" android:layout_alignTop="@+id/layout_point_bg" android:gravity="center_vertical" android:orientation="horizontal" > <View android:id="@+id/view_point" android:layout_width="20dp" android:layout_height="20dp" android:background="@drawable/firstslide_point_selected" /> </LinearLayout> <TextView android:id="@+id/tv_firstslide_pass" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_marginBottom="30dp" android:layout_marginRight="30dp" android:gravity="center" android:text="@string/slide_pass" android:textColor="#ffffff" android:textSize="12sp" /> </RelativeLayout>
package com.baoyou.demo.demofirstslide.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.text.Html; import android.view.View; import android.view.View.OnClickListener; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.LinearLayout.LayoutParams; import com.baoyou.demo.demofirstslide.MainActivity; import com.baoyou.demo.demofirstslide.R; import com.baoyou.demo.demofirstslide.adapter.FirstSlideAdapter; public class FirstSlideActivity extends Activity implements OnClickListener, OnPageChangeListener { private static final int[] mDataList = { R.drawable.firstslide_1 , R.drawable.firstslide_2, R.drawable.firstslide_3, R.drawable.firstslide_4}; private ViewPager mViewPager; private TextView mTextViewPass; private FirstSlideAdapter mPagerAdapter; private View mViewPoint; private LinearLayout.LayoutParams mLayoutParams; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_firstslide); mViewPager = (ViewPager) this.findViewById(R.id.vp_firstslider); mTextViewPass = (TextView) this.findViewById(R.id.tv_firstslide_pass); mPagerAdapter = new FirstSlideAdapter(mDataList); mTextViewPass.setOnClickListener(this); mPagerAdapter.setOnClickListener(this); mViewPager.setOnPageChangeListener(this); mViewPager.setAdapter(mPagerAdapter); mViewPoint = this.findViewById(R.id.view_point); mLayoutParams = (LayoutParams) mViewPoint.getLayoutParams(); } @Override public void onPageScrollStateChanged(int index) { } @Override public void onPageSelected(int index) { if (index == mPagerAdapter.getCount() - 1) { mTextViewPass.setVisibility(View.GONE); } else { mTextViewPass.setVisibility(View.VISIBLE); } } @Override public void onPageScrolled(int index, float per, int width) { mLayoutParams.leftMargin = Math.round((index + per)* mLayoutParams.width); mViewPoint.setLayoutParams(mLayoutParams); } @Override public void onClick(View v) { startActivity(new Intent(this, MainActivity.class)); overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); finish(); } }
package com.baoyou.demo.demofirstslide.adapter; import com.baoyou.demo.demofirstslide.R; import android.support.v4.view.PagerAdapter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.ImageView; import android.widget.ImageView.ScaleType; public class FirstSlideAdapter extends PagerAdapter{ private int[] mDataList; private View mView; private OnClickListener mOnClickListener; public void setOnClickListener(OnClickListener onClickListener) { this.mOnClickListener = onClickListener; } public FirstSlideAdapter(int[] mDataList) { this.mDataList = mDataList; } public void setmDataList(int[] mDataList) { this.mDataList = mDataList; } @Override public int getCount() { return mDataList.length; } @Override public boolean isViewFromObject(View view, Object obj) { return view == obj; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public View instantiateItem(ViewGroup container, int position) { if (position == getCount() - 1) { if (mView == null) { mView = LayoutInflater.from(container.getContext()).inflate( R.layout.item_firstslide, null); if(mOnClickListener!=null){ mView.findViewById(R.id.textView_firstslide_btn).setOnClickListener(mOnClickListener); } } container.addView(mView, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); return mView; } else { ImageView mImageView = new ImageView(container.getContext()); mImageView.setScaleType(ScaleType.FIT_XY); mImageView.setImageResource(mDataList[position]); container.addView(mImageView, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); return mImageView; } } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
在Android开发中,串口通信(Serial Port Communication)是一种重要的技术,它允许设备之间通过串行接口进行数据交换。在Android Studio环境下实现串口通信,开发者可以构建与硬件设备交互的应用,例如读取传感器...
在现代的移动应用开发中,JavaScript与原生平台之间的交互变得越来越常见,特别是在使用Android的WebView组件时。本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 ...
【Android扫雷游戏开发详解】 在移动开发领域,Android Studio是Google推出的官方集成开发环境(IDE),用于构建Android应用程序。本项目"Android扫雷游戏"就是利用Android Studio进行开发的一个实例,旨在帮助初学...
Android 4.4.2 SDK(软件开发工具包)是Google为开发者提供的一个关键工具集,用于构建、调试和发布针对Android 4.4.2(KitKat)操作系统的应用程序。这个离线包包含了所有必要的组件,使得开发者无需连接到互联网...
# mv /opt/android-sdk/platforms/android-25/android-7.1.1/* /opt/android-sdk/platforms/android-25/ # rm -rf /opt/android-sdk/platforms/android-25/android-7.1.1 官网下载地址:...
在Android开发中,为UI元素添加虚线、圆角和渐变效果是常见的需求,可以提升应用的视觉吸引力。下面将详细讲解如何实现这些效果。 ### 一、虚线(Dashed Line) 在Android中,我们可以使用`Shape Drawable`来创建...
在Android开发领域,初学者经常会面临许多挑战,如理解Android应用程序的基本架构、学习XML布局、掌握Java或Kotlin编程语言,以及如何与设备硬件交互等。"Android开发入门60个小案例+源代码"这个资源提供了丰富的...
源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用...
Android SipDemo是一个示例应用,它展示了如何在Android平台上实现网络电话功能,特别是针对Android 2.3(Gingerbread)及以上版本。这个项目基于Android的SIP(Session Initiation Protocol)API,这是一种用于...
第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...
在Android平台上,即时通讯(Instant Messaging,简称IM)已经成为移动应用不可或缺的一部分,而结合视频通信功能则让用户体验更上一层楼。本项目“Android之基于RTP/RTSP即时通讯-Android源码”正是这样的一个解决...
《Android Studio项目源码解析与学习指南》 在Android应用开发的世界中,Android Studio作为官方推荐的集成开发环境(IDE),已经成为开发者们的首选工具。本文将深入探讨"50款Android studio项目源码.zip"这一资源...
在Android系统中,检测U盘(USB存储设备)的热插拔事件是一项常见的需求,尤其在开发与USB设备交互的应用时。"android检测U盘插拔事件"这个标题揭示了我们要探讨的核心技术点:如何在Android应用中监听并处理U盘的...
Android SDK是Android应用程序开发不可或缺的一部分,它为开发者提供了构建、测试和调试应用所需的各种工具。在本场景中,我们关注的是Android SDK的27版本,这对应于Android 8.1.0,也称为Oreo。这个版本的SDK包含...
在Android应用开发中,抽屉菜单(Drawer Menu)是一种常见的设计模式,用于提供导航功能,让用户可以从屏幕边缘滑出一个包含多个选项的列表。这种设计通常遵循Material Design指南,是Google推荐的Android应用界面...
在Android开发领域,Android Studio是谷歌官方推荐的集成开发环境(IDE),用于构建高质量的Android应用。本小案例将深入探讨如何使用Android Studio进行实际项目开发。以下将详细介绍Android Studio的一些核心功能和...
《VB for Android12.12:VB语言在Android开发中的新里程碑》 VB(Visual Basic)是微软公司推出的一种面向对象的编程语言,以其易学易用的特点深受程序员喜爱。随着移动应用市场的繁荣,VB也开始拓展到Android平台...
在Android平台上,开发一款“一键清理后台”应用可以帮助用户快速释放设备内存,提高系统运行速度。这个功能通常包括清理正在运行的应用程序、终止不必要的服务以及管理后台进程。下面将详细介绍如何在Android 4.4...
使用: export ANDROID_HOME="/opt/android-...# mv /opt/android-sdk/platforms/android-8.0.0 /opt/android-sdk/platforms/android-26 官网下载地址:https://dl.google.com/android/repository/platform-26_r01.zip
在Android平台上实现WebRTC,首先需要理解其核心组件和工作流程。WebRTC的架构包括以下关键部分: 1. **信令层**:这是WebRTC系统中用于建立和管理连接的部分。它处理会话邀请、媒体协商以及传输控制协议(如SIP或...