圖片輪播:跳出隱藏按鈕:點擊跳轉
==============================
佈局:
<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="com.example.shenhuiran_12281.MainActivity"> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" /> <RadioGroup android:id="@+id/radio" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/btn_01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true"/> <RadioButton android:id="@+id/btn_02" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/btn_03" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RadioGroup> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:visibility="gone" android:layout_above="@id/radio" android:text="點擊" /> </RelativeLayout>
===============================
主要方法:
import android.content.Intent; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.RadioGroup; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ViewPager viewPager; private RadioGroup radio; private Button btn; private List<Integer> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = findViewById(R.id.viewPager); radio = findViewById(R.id.radio); btn = findViewById(R.id.btn); list = new ArrayList<Integer>(); list.add(R.drawable.a); list.add(R.drawable.b); list.add(R.drawable.c); MyAdapter adapter = new MyAdapter(list,MainActivity.this); viewPager.setAdapter(adapter); viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position){ case 0: radio.check(R.id.btn_01); break; case 1: radio.check(R.id.btn_02); break; case 2: radio.check(R.id.btn_03); btn.setVisibility(View.VISIBLE); break; default: break; } } @Override public void onPageScrollStateChanged(int state) { } }); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.this,Main2Activity.class); startActivity(intent); } }); } }
========================================
適配器:MyAdapter
importandroid.content.Context; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import java.util.List; public class MyAdapter extends PagerAdapter{ private List<Integer> list; private Context context; public MyAdapter(List<Integer> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = new ImageView(context); imageView.setImageResource(list.get(position)); imageView.setScaleType(ImageView.ScaleType.FIT_XY); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }