Android:activity 的下一个和上一个按钮使用不同的图像
Android: Next and previous button for activity using different images
全图 XML 文件 Activity
<?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"
android:weightSum="800">
<ImageView android:id="@+id/full_image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:clickable="true"
android:focusable="true"
android:weightSum="200">
<Button
android:layout_width="140dp"
android:layout_height="wrap_content"
android:text="Previous"
android:id="@+id/textView2"
android:layout_gravity="center"/>
<Button
android:layout_width="140dp"
android:layout_height="wrap_content"
android:text="Next"
android:id="@+id/Next"
android:layout_gravity="center" />
</LinearLayout>
</LinearLayout>
Activity
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final GridView gv = (GridView)findViewById(R.id.grid_view);
gv.setAdapter(new ImageAdapter(this));
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Sending image id to FullScreenActivity
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
// passing array index
i.putExtra("id", position);
startActivity(i);
}
});
这是我的全图 Activity Class
ImageAdapter imageAdapter; ImageView imageView;
int position;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.full_image_layout);
Button next = (Button)findViewById(R.id.Next);
imageView = (ImageView) findViewById(R.id.full_image_view);
Intent i = getIntent();
position = i.getExtras().getInt("id");
imageAdapter = new ImageAdapter(this);
imageView.setImageResource(imageAdapter.mThumbIds[position]);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(imageAdapter.mThumbIds[position] > imageAdapter.mThumbIds.length - 1) {
position++;
imageView.setImageResource(imageAdapter.mThumbIds[position]);
}
else{
Log.d("TAG", "Reached Last Record");
}
if(position < imageAdapter.mThumbIds.length - 1) {
position++;
}
else{
Log.d("TAG", "Reached Last Record");
}
}
});
我应该如何以及在何处实现下一个和上一个按钮逻辑以使事情顺利进行。
任何指导将不胜感激。
我想通了...需要不断递增或递减保存图像的数组的侦听器。
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.setImageResource(imageAdapter.mThumbIds[++position]);
}});
previous.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.setImageResource(imageAdapter.mThumbIds[--position]);
}});
对于多数组使用下面的代码
int n;
for Next button
if (n>=int_Info.length)
{
Toast.makeText(this, "Last", Toast.LENGTH_SHORT).show();
}
else {
Glide.with(this).load(int_Info[n++]).into(zoomageView);
}
全图 XML 文件 Activity
<?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"
android:weightSum="800">
<ImageView android:id="@+id/full_image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:clickable="true"
android:focusable="true"
android:weightSum="200">
<Button
android:layout_width="140dp"
android:layout_height="wrap_content"
android:text="Previous"
android:id="@+id/textView2"
android:layout_gravity="center"/>
<Button
android:layout_width="140dp"
android:layout_height="wrap_content"
android:text="Next"
android:id="@+id/Next"
android:layout_gravity="center" />
</LinearLayout>
</LinearLayout>
Activity
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final GridView gv = (GridView)findViewById(R.id.grid_view);
gv.setAdapter(new ImageAdapter(this));
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Sending image id to FullScreenActivity
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
// passing array index
i.putExtra("id", position);
startActivity(i);
}
});
这是我的全图 Activity Class
ImageAdapter imageAdapter; ImageView imageView;
int position;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.full_image_layout);
Button next = (Button)findViewById(R.id.Next);
imageView = (ImageView) findViewById(R.id.full_image_view);
Intent i = getIntent();
position = i.getExtras().getInt("id");
imageAdapter = new ImageAdapter(this);
imageView.setImageResource(imageAdapter.mThumbIds[position]);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(imageAdapter.mThumbIds[position] > imageAdapter.mThumbIds.length - 1) {
position++;
imageView.setImageResource(imageAdapter.mThumbIds[position]);
}
else{
Log.d("TAG", "Reached Last Record");
}
if(position < imageAdapter.mThumbIds.length - 1) {
position++;
}
else{
Log.d("TAG", "Reached Last Record");
}
}
});
我应该如何以及在何处实现下一个和上一个按钮逻辑以使事情顺利进行。 任何指导将不胜感激。
我想通了...需要不断递增或递减保存图像的数组的侦听器。
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.setImageResource(imageAdapter.mThumbIds[++position]);
}});
previous.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.setImageResource(imageAdapter.mThumbIds[--position]);
}});
对于多数组使用下面的代码
int n;
for Next button
if (n>=int_Info.length)
{
Toast.makeText(this, "Last", Toast.LENGTH_SHORT).show();
}
else {
Glide.with(this).load(int_Info[n++]).into(zoomageView);
}