我有一个包含图像的 relative layout
. 我喜欢 drawable
文件夹中的10-20张图片和存储这些图片的 hashmap
.
在从左到右滑动图像下方时,它应该更改为下一个图像 . 在每次滑动时,它应该从 hashmap
更改为下一个图像 .
我是java和android编程的新手,并且以任何方式提供帮助表示赞赏 .
这就是我所拥有的:
<?xml version="1.0" encoding="utf-8"?>
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.bschiranth.homework2_chiranthbs.MainActivity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/alice"
android:onClick="onClick"
android:clickable="true"
android:src="@drawable/alice"/>
<SeekBar
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/zoombar"
android:max="100"
android:progress="50"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"/>
</RelativeLayout>
和我的java:
@Override
public boolean onFling(MotionEvent event1, MotionEvent event2,
float velocityX, float velocityY) {
Log.d("fling", "doing fling");
MovieData movieData = new MovieData();
HashMap hashMap = new HashMap();
for(int i=1;i<movieData.getSize();i++)
{
hashMap = movieData.getItem(i);
}
if(event1.getX()-event2.getX()> SWIPE_MIN_DISTANCE && Math.abs(velocityX)>SWIPE_THRESHOLD_VELOCITY)
{
Toast.makeText(Activity_Control.this,
"its flinging right to left", Toast.LENGTH_SHORT).show();
imageView.setImageResource(R.drawable.avatar);
}
if(event2.getX()-event1.getX()> SWIPE_MIN_DISTANCE && Math.abs(velocityX)>SWIPE_THRESHOLD_VELOCITY)
{
Toast.makeText(Activity_Control.this,
"its flinging left to right", Toast.LENGTH_SHORT).show();
imageView.setImageResource(R.drawable.avengers);
}
return true;
}
2 回答
更好的是你可以使用view pager而不是imageview
ViewPagerAdapter.java
PageIndicatorActivity.java
这可以通过
ViewFlipper
完成,如下所述 .这是你的
Activity.xml
文件在您的活动类中声明所需的变量
在
Activity
的onCreate(...)
方法中检索ImageView
覆盖同一活动中的方法
onTouchEvent(...)
然后编写方法
getImage()
以获取要显示的下一个图像这是我项目中的工作代码 . 它会帮助你 .
NOTE : R.mipmap.screen_ is the image resource present in my resource directory.*