图片轮播器,relativelayout,外加textview小结
生活随笔
收集整理的這篇文章主要介紹了
图片轮播器,relativelayout,外加textview小结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
十多個textview,外加三個relativelayout,心煩的是圖片輪播器,就環境老玄了,寫了三個圖片輪播器才成功,直接來代碼吧,gogogo。
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <ScrollView android:layout_width="match_parent"android:layout_height="match_parent"xmlns:android="http://schemas.android.com/apk/res/android"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/container"android:layout_width="match_parent"android:layout_height="match_parent"><android.support.v4.view.ViewPagerandroid:id="@+id/vp"android:layout_width="match_parent"android:layout_height="300dp" /><TextViewandroid:id="@+id/iv_textview0"android:layout_width="match_parent"android:layout_height="35dp"android:layout_marginTop="310dp"android:text="微課 更多>>"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview1"android:layout_width="150dp"android:layout_height="150dp"android:layout_marginTop="345dp"android:layout_marginLeft="10dp"android:drawableTop="@mipmap/ic_launcher"android:paddingLeft="2dp"android:text="科普:數學建模競賽"android:gravity="center"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview2"android:layout_width="150dp"android:layout_height="150dp"android:layout_marginTop="345dp"android:layout_marginLeft="90dp"android:layout_toRightOf="@+id/iv_textview1"android:drawableTop="@mipmap/ic_launcher"android:paddingLeft="2dp"android:text="從包餃子到數學建模"android:gravity="center"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview3"android:layout_width="150dp"android:layout_height="150dp"android:layout_below="@+id/iv_textview1"android:layout_marginLeft="10dp"android:layout_marginTop="25dp"android:drawableTop="@mipmap/ic_launcher"android:paddingLeft="2dp"android:text="2019年美國大學生數學大賽介紹"android:gravity="center"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview4"android:layout_width="150dp"android:layout_height="150dp"android:layout_below="@+id/iv_textview2"android:layout_marginLeft="90dp"android:layout_marginTop="25dp"android:layout_toEndOf="@+id/iv_textview3"android:layout_toRightOf="@+id/iv_textview3"android:drawableTop="@mipmap/ic_launcher"android:paddingLeft="2dp"android:text="青春的轉變"android:gravity="center"android:textSize="20sp" /><RelativeLayoutandroid:id="@+id/relative_02"android:layout_marginTop="690dp"android:layout_width="match_parent"android:layout_height="410dp"android:paddingTop="?attr/actionBarSize"><TextViewandroid:id="@+id/iv_textview00"android:layout_width="match_parent"android:layout_height="35dp"android:text="課件 更多>>"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview01"android:layout_width="150dp"android:layout_height="150dp"android:layout_marginTop="35dp"android:layout_marginLeft="10dp"android:drawableTop="@mipmap/ic_launcher"android:paddingLeft="2dp"android:text="講座一:初識數學建模"android:gravity="center"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview02"android:layout_width="150dp"android:layout_height="150dp"android:layout_marginTop="35dp"android:layout_marginLeft="90dp"android:layout_toRightOf="@+id/iv_textview01"android:drawableTop="@mipmap/ic_launcher"android:paddingLeft="2dp"android:text="講座二:數學建模競賽"android:gravity="center"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview03"android:layout_width="150dp"android:layout_height="150dp"android:layout_below="@+id/iv_textview01"android:layout_marginLeft="10dp"android:layout_marginTop="29dp"android:drawableTop="@mipmap/ic_launcher"android:paddingLeft="2dp"android:text="數學建模之MATLAB入門"android:gravity="center"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview04"android:layout_width="150dp"android:layout_height="150dp"android:layout_below="@+id/iv_textview02"android:layout_marginLeft="90dp"android:layout_marginTop="29dp"android:layout_toEndOf="@+id/iv_textview03"android:layout_toRightOf="@+id/iv_textview03"android:drawableTop="@mipmap/ic_launcher"android:paddingLeft="2dp"android:text="數學建模論文答辯"android:gravity="center"android:textSize="20sp" /></RelativeLayout><RelativeLayoutandroid:id="@+id/relative_03"android:layout_marginTop="1130dp"android:layout_width="match_parent"android:layout_height="370dp"android:paddingTop="?attr/actionBarSize"><TextViewandroid:id="@+id/iv_textview000"android:layout_width="match_parent"android:layout_height="35dp"android:text="真題 更多>>"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview001"android:layout_width="150dp"android:layout_height="150dp"android:layout_marginTop="35dp"android:layout_marginLeft="10dp"android:drawableTop="@mipmap/ic_launcher"android:paddingLeft="2dp"android:text="全國大學生數學建模競賽"android:gravity="center"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview002"android:layout_width="150dp"android:layout_height="150dp"android:layout_marginTop="35dp"android:layout_marginLeft="90dp"android:layout_toRightOf="@+id/iv_textview001"android:drawableTop="@mipmap/ic_launcher"android:paddingLeft="2dp"android:text="美國大學生數學建模競賽"android:gravity="center"android:textSize="20sp" /><TextViewandroid:id="@+id/iv_textview004"android:layout_width="match_parent"android:layout_height="25dp"android:layout_below="@+id/iv_textview002"android:layout_marginTop="29dp"android:text="以上資源均搜集網絡,如有侵權,請聯系我們"android:gravity="center"android:textSize="20sp" /></RelativeLayout></RelativeLayout></ScrollView>ViewPager.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:id="@+id/item_iv"android:layout_width="match_parent"android:layout_height="match_parent"android:scaleType="fitXY" /></RelativeLayout>Mainactivity.java
package com.example.model2;import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater;import android.view.View; import android.view.ViewGroup;import android.widget.ImageView;import androidx.appcompat.app.AppCompatActivity;import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit;public class MainActivity<thread> extends AppCompatActivity {public static int [] imageArray=new int []{R.drawable.a01,R.drawable.a02,R.drawable.a03,R.drawable.a04};private ViewPager vp;private ViewPagerAdapter viewPagerAdapter;//自動輪播定時器private ScheduledExecutorService scheduledExecutorService;//當前圖片的索引號private int CurrentIndex;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);vp=(ViewPager)findViewById(R.id.vp);//適配器初始化viewPagerAdapter=new ViewPagerAdapter(this,imageArray);//綁定適配器vp.setAdapter(viewPagerAdapter);//vp.addOnPageChangeListener(new ViewPagerAdapter());//選擇一個較大的條目選中CurrentIndex=imageArray.length*1000;vp.setCurrentItem(imageArray.length*1000,true);}class ViewPagerChangeListener implements ViewPager.OnPageChangeListener{@Overridepublic void onPageScrolled(int i, float v, int i1) {}@Overridepublic void onPageSelected(int i) {CurrentIndex=i;}@Overridepublic void onPageScrollStateChanged(int i) {}}private Handler handler=new Handler(){@Overridepublic void handleMessage( Message msg) {switch (msg.what){case 1://刷新控件選中對應的圖片vp.setCurrentItem(CurrentIndex);break;}}};//當界面可見時,每隔10秒切換一次圖片@Overrideprotected void onStart() {super.onStart();//初始化自動輪播定時器scheduledExecutorService= Executors.newSingleThreadScheduledExecutor();scheduledExecutorService.scheduleAtFixedRate(new Runnable() {@Overridepublic void run() {CurrentIndex++;//刷新控件handler.sendEmptyMessage(1);}},3,3, TimeUnit.SECONDS);}//當界面不可見的時候停止切換@Overrideprotected void onStop() {super.onStop();if(scheduledExecutorService!=null){scheduledExecutorService.shutdown();}}public class ViewPagerAdapter extends PagerAdapter{private Context context;private LayoutInflater layoutInflater;private int [] datas;public ViewPagerAdapter(Context context,int []datas){this.context=context;this.datas=datas;layoutInflater=LayoutInflater.from(context);}@Overridepublic int getCount() {return Integer.MAX_VALUE;}@Overridepublic boolean isViewFromObject(View view, Object object) {return (view == object);}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView((View)object);}//渲染每一頁的數據@Overridepublic Object instantiateItem(ViewGroup container, int position) {View layout=layoutInflater.inflate(R.layout.viewpager,null);ImageView iv=(ImageView)layout.findViewById(R.id.item_iv);//設置顯示圖片iv.setImageResource(datas[position%datas.length]);//添加到ViewPager里container.addView(layout);return layout;}}}實現截圖
總結
以上是生活随笔為你收集整理的图片轮播器,relativelayout,外加textview小结的全部內容,希望文章能夠幫你解決所遇到的問題。