Android圖像切換器含代碼

    Android圖像切換器

    Android圖像切換器提供了一種在圖像之間實現過渡動畫的方式。愛掏網 - it200.com要使用圖像切換器,我們需要在.xml文件中實現 ImageSwitcher 組件。愛掏網 - it200.com

    ImageSwitcher的 setFactory() 方法提供了一個接口的實現。愛掏網 - it200.comViewFactory接口實現了它的未實現方法并返回一個ImageView。愛掏網 - it200.com

    圖像切換器示例

    讓我們來實現一個圖像切換器。愛掏網 - it200.com

    在layout文件夾中創建activity_main.xml和content_main.xml文件。愛掏網 - it200.com

    將一些要切換的圖像放在drawable文件夾中。愛掏網 - it200.com

    activity_main.xml

    文件:activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.design.widget.CoordinatorLayout 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"
        android:fitsSystemWindows="true"
        tools:context="com.example.test.imageswitcher.MainActivity">
    
        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/AppTheme.AppBarOverlay">
    
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:popupTheme="@style/AppTheme.PopupOverlay" />
    
        </android.support.design.widget.AppBarLayout>
        <include layout="@layout/content_main" />
    
    </android.support.design.widget.CoordinatorLayout>
    

    content_main.xml

    文件: content_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout 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"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        tools:context="com.example.test.imageswitcher.MainActivity"
        tools:showIn="@layout/activity_main">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Image Switcher Example"
    
            android:id="@+id/textView"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true" />
    
        <ImageSwitcher
            android:id="@+id/imageSwitcher"
            android:layout_width="match_parent"
            android:layout_height="250dp"
            android:layout_marginBottom="28dp"
            android:layout_marginTop="40dp" />
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Next"
            android:id="@+id/button"
            android:layout_marginBottom="47dp"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true" />
    </RelativeLayout>
    

    Activity類

    文件:MainActivity.java

    package com.example.test.imageswitcher;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageSwitcher;
    import android.widget.ImageView;
    import android.widget.ViewSwitcher;
    
    import android.app.ActionBar;
    import android.view.animation.Animation;
    import android.view.animation.AnimationUtils;
    
    
    public class MainActivity extends AppCompatActivity {
        ImageSwitcher imageSwitcher;
        Button nextButton;
    
        int imageSwitcherImages[] = 
          {R.drawable.cpp, R.drawable.c_sarp, R.drawable.jsp, R.drawable.mysql, R.drawable.hadoop};
    
        int switcherImageLength = imageSwitcherImages.length;
        int counter = -1;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
    
            imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher);
            nextButton = (Button) findViewById(R.id.button);
    
            imageSwitcher.setFactory(new ViewSwitcher.ViewFactory() {
                @Override
                public View makeView() {
                    ImageView switcherImageView = new ImageView(getApplicationContext());
                    switcherImageView.setLayoutParams(new ImageSwitcher.LayoutParams(
                            ActionBar.LayoutParams.FILL_PARENT, ActionBar.LayoutParams.FILL_PARENT
                    ));
                    switcherImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
                    switcherImageView.setImageResource(R.drawable.hadoop);
                    //switcherImageView.setMaxHeight(100);
                    return switcherImageView;
                }
            });
    
            Animation aniOut = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right);
            Animation aniIn = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left);
    
           imageSwitcher.setOutAnimation(aniOut);
           imageSwitcher.setInAnimation(aniIn);
    
            nextButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    counter++;
                    if (counter == switcherImageLength){
                        counter = 0;
                        imageSwitcher.setImageResource(imageSwitcherImages[counter]);
                    }
                    else{
                        imageSwitcher.setImageResource(imageSwitcherImages[counter]);
                    }
                }
            });
        }
    
    }
    

    輸出

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 国产精品亚洲综合一区| 日韩精品无码一区二区三区不卡| 97久久精品无码一区二区| 成人h动漫精品一区二区无码| 国产av夜夜欢一区二区三区| 国产一区在线mmai| 一夲道无码人妻精品一区二区| 国语对白一区二区三区| 国产精品久久一区二区三区| 国产一区二区三区高清视频 | 日本一区二区在线免费观看| 亚洲av乱码一区二区三区按摩 | 激情爆乳一区二区三区| 国产韩国精品一区二区三区久久| 精品一区二区在线观看| 亚洲色婷婷一区二区三区| 黄桃AV无码免费一区二区三区| 国产伦精品一区二区三区免.费| 色欲AV蜜桃一区二区三| 无码人妻精品一区二区三区不卡 | 精品一区二区三区免费观看 | 一区二区三区精品视频| 国产精品一区不卡| 偷拍精品视频一区二区三区| 国产福利一区视频| 丰满岳乱妇一区二区三区| 亚洲av无码天堂一区二区三区 | 91福利视频一区| 麻豆AV无码精品一区二区 | 国产亚洲无线码一区二区| 国精产品一区二区三区糖心 | 精品一区二区三区免费 | 国产SUV精品一区二区88L| 国产成人av一区二区三区不卡| 国产一区在线电影| 精品一区二区无码AV| 日韩精品无码一区二区三区免费 | 中文字幕无线码一区| 末成年女AV片一区二区| 亚洲综合无码一区二区痴汉| 免费一区二区视频|