国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現圖片輪播效果

2020-04-11 11:12:35
字體:
來源:轉載
供稿:網友

本文實例講述了JaAndroid實現圖片輪播效果代碼,分享給大家供大家參考。具體如下:
運行效果截圖如下:

具體代碼如下:

首先看下一下布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <!-- 廣告條的使用 --> <com.xuliugen.viewpager.MyViewPagerTransformerAnim android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="200dp" /> <!-- 廣告條下邊的文字 --> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignBottom="@id/viewpager" android:background="#33000000" android:orientation="vertical" > <TextView  android:id="@+id/image_desc"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:gravity="center"  android:text="@string/app_name"  android:textColor="@android:color/white"  android:textSize="16sp" /> <LinearLayout  android:id="@+id/point_group"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_gravity="center_horizontal"  android:layout_marginBottom="5dp"  android:orientation="horizontal" > </LinearLayout> </LinearLayout></RelativeLayout>


效果很簡單,從布局文件中我們看到使用了一個自定義的ViewPager動畫,代碼如下:

package com.xuliugen.viewpager;import java.util.HashMap;import java.util.Map;import android.content.Context;import android.support.v4.view.ViewPager;import android.util.AttributeSet;import android.view.View;import com.nineoldandroids.view.ViewHelper;/* * 自定義viewpager實現動畫切換效果: *  * 1、需要拿到當前切換的兩個view *  * 2、一個動畫的梯度值 */public class MyViewPagerTransformerAnim extends ViewPager { private View mLeft; private View mRight; private float mTrans; private float mScale; private static final float MIN_SCALE = 0.6f; private Map<Integer, View> mChildren = new HashMap<Integer, View>(); /* * 要有兩個構造方法 */ public MyViewPagerTransformerAnim(Context context, AttributeSet attrs) { super(context, attrs); } public MyViewPagerTransformerAnim(Context context) { super(context); } /* * 設置put的方法 */ public void setViewForPosition(View view, int position) { mChildren.put(position, view); } /* * remove的方法 */ public void removeViewFromPosition(Integer position) { mChildren.remove(position); } /** * 重寫的方法 */ @Override protected void onPageScrolled(int position, float offset, int offsetPixels) { // Log.e("TAG", "position =" + position + ",offset = " + offset); mLeft = mChildren.get(position); mRight = mChildren.get(position + 1); animStack(mLeft, mRight, offset, offsetPixels);// 創建動畫效果 super.onPageScrolled(position, offset, offsetPixels); } private void animStack(View left, View right, float offset, int offsetPixels) { if (right != null) {  // 從0-1頁,offset:0`1  mScale = (1 - MIN_SCALE) * offset + MIN_SCALE;  mTrans = -getWidth() - getPageMargin() + offsetPixels;  ViewHelper.setScaleX(right, mScale);  ViewHelper.setScaleY(right, mScale);  ViewHelper.setTranslationX(right, mTrans); } if (left != null) {  left.bringToFront(); } }}

MainActivity.java

package com.xuliugen.viewpager;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;public class MainActivity extends Activity { private ViewPager viewPager; private LinearLayout pointGroup; private TextView iamgeDesc; // 圖片資源ID private final int[] imageIds = { R.drawable.a, R.drawable.b, R.drawable.c,  R.drawable.d, R.drawable.e }; // 圖片標題集合 private final String[] imageDescriptions = { "鞏俐不低俗,我就不能低俗",  "撲樹又回來啦!再唱經典老歌引萬人大合唱", "揭秘北京電影如何升級", "樂視網TV版大派送", "熱血

主站蜘蛛池模板:
兰西县|
珲春市|
伊金霍洛旗|
黎川县|
芜湖市|
南华县|
应用必备|
东源县|
广饶县|
沾化县|
康定县|
志丹县|
吴桥县|
海安县|
新巴尔虎左旗|
红桥区|
罗甸县|
周口市|
竹溪县|
慈溪市|
谷城县|
裕民县|
柞水县|
河北区|
武穴市|
南开区|
新竹市|
多伦县|
柳州市|
梅河口市|
腾冲县|
新源县|
仪征市|
岚皋县|
吉安市|
海林市|
兰坪|
遵义市|
集安市|
镇赉县|
九寨沟县|