2018-06-05-ImageSwitcher 和TextView

ImageSwitcher 和TextView

ImageSwitcher

  • ImageSwitcher是Android中控制圖片展示的一個控件,如幻燈片效果
  • ImageSwitcher粗略的理解就是ImageView選擇器
  • ImageSwitcher的原理:ImageSwitcher有兩個子View:ImageView,當(dāng)左右滑動時,就在這兩個圖片之間來回切換圖片。
  • 既然有兩個子IamgeView,那么我們要創(chuàng)建兩個ImageView給ImageSwitcher。出啊關(guān)鍵ImageSwitcher是通過工廠類來實現(xiàn)的:ViewFactory。

public class MainActivity extends AppCompatActivity implements ViewSwitcher.ViewFactory,View.OnTouchListener{

    private ImageSwitcher imageSwitcher;
    private int[] images = {R.mipmap.l,
            R.mipmap.h
    };
    private int index = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher);
        
        //需要傳入特們的對象,就是自己本身
        imageSwitcher.setFactory(this);
        imageSwitcher.setOnTouchListener(this);
        
    }


    //初始化列表
    @Override
    public View makeView() {
        ImageView iv = new ImageView(this);
        iv.setImageResource(images[0]);
        return iv;
    }

    float startX = 0.0f;
    float endX = 0.0f;

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        int action = event.getAction();
        if(action == MotionEvent.ACTION_DOWN){
            startX = event.getX();
        }
        if(action == MotionEvent.ACTION_UP){
            endX = event.getX();
        }


        //往右移
        if(startX - endX>15){   //顯示下一張
            index = index+ 1 < images.length?++index:0;
        }else if(endX - startX > 15){  //顯示上一張
            index = index - 1 >=0 ? --index:images.length-1;
        }
        imageSwitcher.setImageResource(images[index]);

        return true;
    }
}

圖片切換的動畫效果

            imageSwitcher.setInAnimation(this,R.anim.fada_in);
            imageSwitcher.setInAnimation(this,R.anim.fada_out);

TextViewer

同ImageSwitcher一樣,TextView是實現(xiàn)文本的切換,里面的內(nèi)容是文本

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容