Android显示全屏滑块图像

Android显示全屏滑块图像,第1张

概述我在Android屏幕上显示了gridviewImages.我的要求是滑动全屏图像这是我的代码:ImageAdapter:publicclassImageAdapterextendsBaseAdapter{privateContextmContext;//ConstructorpublicImageAdapter(Contextc){mContext=c;}publicint

我在Android屏幕上显示了grIDvIEwImages.
我的要求是滑动全屏图像

这是我的代码:

ImageAdapter:

public class ImageAdapter extends BaseAdapter {   private Context mContext;   // Constructor   public ImageAdapter(Context c) {      mContext = c;   }   public int getCount() {      return mThumbIDs.length;   }   public Object getItem(int position) {      return null;   }   public long getItemID(int position) {      return 0;   }   // create a new ImageVIEw for each item referenced by the Adapter   public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) {      ImageVIEw imageVIEw;      if (convertVIEw == null) {      imageVIEw = new ImageVIEw(mContext);      imageVIEw.setLayoutParams(new GrIDVIEw.LayoutParams(85, 85));      imageVIEw.setScaleType(ImageVIEw.ScaleType.CENTER_CROP);      imageVIEw.setpadding(8, 8, 8, 8);      } else {      imageVIEw = (ImageVIEw) convertVIEw;      }      imageVIEw.setimageResource(mThumbIDs[position]);      return imageVIEw;   }   // Keep all Images in array   public Integer[] mThumbIDs = {      R.drawable.cn1, R.drawable.cn2,      R.drawable.cn3, R.drawable.cn4,      R.drawable.cn5, R.drawable.cn6,      R.drawable.cn7, R.drawable.cn8,      R.drawable.cn9, R.drawable.cn10,      R.drawable.cn11, R.drawable.cn12   };}   

主要活动:

public class MainActivity extends Activity {    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        GrIDVIEw grIDvIEw = (GrIDVIEw) findVIEwByID(R.ID.grIDvIEw);          grIDvIEw.setAdapter(new ImageAdapter(this));          grIDvIEw.setonItemClickListener(new OnItemClickListener() {              public voID onItemClick(AdapterVIEw<?> parent, VIEw v,                      int position, long ID) {                  // Send intent to SingleVIEwActivity                  Intent i =                   new Intent(getApplicationContext(), SingleVIEwActivity.class);                  // Pass image index                  i.putExtra("ID", position);                  Log.d("onCreateMain>>","OnCreateMain");                  startActivity(i);              }          });    }    @OverrIDe    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }}

SingleVIEwActivity:

public class SingleVIEwActivity extends Activity {    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.single_vIEw);        Log.d("onCreate>>","OnCreate");        // Get intent data        Intent i = getIntent();        // Selected image ID        int position = i.getExtras().getInt("ID");        Log.d("position>>>","position"+position);        ImageAdapter imageAdapter = new ImageAdapter(this);        ImageVIEw imageVIEw = (ImageVIEw) findVIEwByID(R.ID.SingleVIEw);        imageVIEw.setimageResource(imageAdapter.mThumbIDs[position]);    }}

布局XMl文件:

activity_main.xml:

<?xml version="1.0" enCoding="utf-8"?><GrIDVIEw xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:ID="@+ID/grIDvIEw"   androID:layout_wIDth="fill_parent"    androID:layout_height="fill_parent"   androID:columnWIDth="90dp"   androID:numColumns="auto_fit"   androID:verticalSpacing="10dp"   androID:horizontalSpacing="10dp"   androID:stretchMode="columnWIDth"   androID:gravity="center"/>

single_vIEw.xml:

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical" >   <ImageVIEw androID:ID="@+ID/SingleVIEw"            androID:layout_wIDth="fill_parent"            androID:layout_height="fill_parent"/></linearLayout>

我的要求是滑动全屏图像,有任何帮助吗?

解决方法:

VIEwPager可以让您在片段之间“滑动”,这正是您要实现的效果.只需将当前的SingleVIEwActivity变成一个片段:

public class SingleVIEwFragment extends Fragment {    @OverrIDe    public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) {        return inflater.inflate(R.layout.single_vIEw, container, false);    }    @OverrIDe    public voID onVIEwCreated(VIEw vIEw, Bundle savedInstanceState) {        int resource = getArguments().getInt("image");        ImageVIEw imageVIEw = (ImageVIEw) findVIEwByID(R.ID.SingleVIEw);        imageVIEw.setimageResource(imageAdapter.mThumbIDs[position]);    }}

您将需要一个PagerAdapter来根据需要生成此片段.

public class ImagesPagerAdapter extends FragmentPagerAdapter{    public Integer[] mThumbIDs = {        R.drawable.cn1, R.drawable.cn2,        R.drawable.cn3, R.drawable.cn4,        R.drawable.cn5, R.drawable.cn6,        R.drawable.cn7, R.drawable.cn8,        R.drawable.cn9, R.drawable.cn10,        R.drawable.cn11, R.drawable.cn12    };    @OverrIDe    public Fragment getItem(int i) {        Bundle args = new Bundle();        args.putInt("image", mThumbIDs[i]);        SingleVIEwFragment fragment = new SingleVIEwFragment();        fragment.setArguments(args);        return fragment;    }    @OverrIDe    public int getCount() {        return mThumbIDs.length;    }}

然后,您将需要一个包含单个VIEwPager的活动,将ImagesPagerAdapter的实例设置为其适配器,并为其指定启动位置.

public class SingleVIEwActivity extends Activity {    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_pager);        // Selected image ID        int position = getIntent().getIntExtra("ID", 0);        VIEwPager pager = (VIEwPager) findVIEwByID(R.ID.pager);        pager.setAdapter(new ImagesPagerAdapter(this));        pager.setCurrentItem(position);    }}

其中activiy_pager只是一个包含所需VIEwPager的布局.

<VIEwPager xmlns:androID="http://schemas.androID.com/apk/res/androID"       androID:ID="@+ID/pager"       androID:layout_wIDth="match_parent"       androID:layout_height="match_parent"/>
总结

以上是内存溢出为你收集整理的Android显示全屏滑块图像全部内容,希望文章能够帮你解决Android显示全屏滑块图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1087466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存