任何人都可以指导如何设置搜索按钮

时间:2014-01-10 18:30:19

标签: android android-listview imageview

我正在开发一个壁纸应用程序。在其中我有超过100张图片。我正在使用2个按钮将图像更改为下一个和后一个图像。现在我想使用第三个按钮打开完整的可绘制图像名称列表,这个列表应该上下移动。如果我选择所需的图像名称,则应打开该图像。 此列表顶部还有2个按钮,一个用于转到图像,另一个用于取消。这是它的样子: enter image description here

这是我的XML布局。

 <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:gravity="fill" 
    android:orientation="vertical" 
    android:weightSum="100" >
  <ImageView 
    android:id="@+id/idImageViewPic"
    android:layout_width="match_parent"
    android:layout_height="0dp" 
    android:layout_weight="100"
    android:adjustViewBounds="true" 
    android:background="#66FFFFFF" 
    android:maxHeight="91dip" 
    android:maxWidth="47dip"
    android:padding="10dip" 
    android:src="@drawable/r0" /> 
 <LinearLayout android:id="@+id/linearLayout1"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" >
 <Button 
     android:id="@+id/bprev"
     android:layout_width="0dp" 
     android:layout_height="wrap_content"
     android:layout_weight="1"
     android:text="Back" >
     </Button> 
 <Button
      android:id="@+id/bnext"
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1"
      android:text="Next" > 
      </Button>
    </LinearLayout>
  </LinearLayout> 

我的主要活动:

 public class Main extends Activity {
  private ImageView hImageViewPic;
  private Button iButton, gButton;
  private int currentImage = 0;
   int[] images = { R.drawable.r1, R.drawable.r2, R.drawable.r3, R.drawable.r4, R.drawable.r5, R.drawable.r6, R.drawable.r7, R.drawable.r8, R.drawable.r9, R.drawable.r10 }; 
   public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main);
     hImageViewPic = (ImageView)findViewById(R.id.idImageViewPic); 
     iButton = (Button) findViewById(R.id.bnext);
     gButton = (Button) findViewById(R.id.bprev); 
   //Just set one Click listener for the image
     iButton.setOnClickListener(iButtonChangeImageListener); 
     gButton.setOnClickListener(gButtonChangeImageListener);
    } 
     View.OnClickListener iButtonChangeImageListener = new OnClickListener() { 
     public void onClick(View v) {
   //Increase Counter to move to next Image 
     currentImage++; 
     currentImage = currentImage % images.length; 
    hImageViewPic.setImageResource(images[currentImage]);
    }
    }; 
     View.OnClickListener gButtonChangeImageListener = new OnClickListener() { 
       public void onClick(View v) {
    //Increase Counter to move to next Image
      currentImage--;
      currentImage = currentImage % images.length; 
    hImageViewPic.setImageResource(images[currentImage]); 
   }
  };}

如果我在XML中使用另一个按钮,那么我应该在主要活动中写什么?有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我想,你能做的是:

你有drawables / bitmaps设备列表。

Drawable myDrawable = getResources().getDrawable(R.drawable.yourImage); // Drawables
Bitmap myLogo = ((BitmapDrawable) myDrawable).getBitmap();
imageView.setImageBitmap(myLogo);

如果从设备中选择了图像,或者您有路径:

Uri selectedImage = convert your image path into URI ;
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
userImg.setImageBitmap(bitmap); 

已编辑:

最后,但在此之前,

ImageViewPic.setImageResource(images[currentImage]) ;

添加以下行:

Drawable myDrawable = getResources().getDrawable(R.drawable.yourImage); // Drawables
Bitmap currentImage= ((BitmapDrawable) myDrawable).getBitmap();

然后添加

ImageViewPic.setImageResource(images[currentImage]) ;