边框不会显示在我的图像中

时间:2010-12-01 08:28:29

标签: java android border

我的画廊显示我的图像但是哪个图像选择我不知道如何区分所选图像和其他图像..我想在我的图像中设置边框线...现在我附加我的屏幕截图帮助我.. ..

我的截图: alt text

我希望我的模拟器中有这种类型的屏幕: alt text

package videothumb.videothumb;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.net.Uri;
import android.view.Window;
import android.view.WindowManager;
import android.graphics.Color;

public class videothumb extends Activity{

private final static Uri MEDIA_EXTERNAL_CONTENT_URI =    
MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
private final static String _ID = MediaStore.Video.Media._ID;
private final static String MEDIA_DATA = MediaStore.Video.Media.DATA;
//flag for which one is used for images selection
private Gallery _gallery; 
private Cursor _cursor;
private int _columnIndex;
private int[] _videosId;
private Uri _contentUri;
private int video_column_index;

//private static final int MENU_ID_ZOOM = 0;


protected Context _context;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    _context = getApplicationContext();

    setContentView(R.layout.main);


    //set GridView for gallery
    _gallery = (Gallery) findViewById(R.id.videoGrdVw);
    //set default as external/sdcard uri
    _contentUri = MEDIA_EXTERNAL_CONTENT_URI;
    //initialize the videos uri 
    //showToast(_contentUri.getPath());
    initVideosId();
    //set gallery adapter
     setGalleryAdapter();
   }
private void setGalleryAdapter() {
    _gallery.setAdapter(new VideoGalleryAdapter(_context));
    _gallery.setOnItemClickListener(videogridlistener);
    }
private void initVideosId() {
    try
    {
        //Here we set up a string array of the thumbnail ID column we want to get back
        String [] proj={_ID};
        // Now we create the cursor pointing to the external thumbnail store
        _cursor = managedQuery(_contentUri,
                proj, // Which columns to return
                null,       // WHERE clause; which rows to return (all rows)
                null,       // WHERE clause selection arguments (none)
                null); // Order-by clause (ascending by name)
        int count= _cursor.getCount();
        System.out.println("total"+_cursor.getCount());
        // We now get the column index of the thumbnail id
        _columnIndex = _cursor.getColumnIndex(_ID);
        //initialize 
        _videosId = new int[count];
        //move position to first element
        _cursor.moveToFirst();            
        for(int i=0;i<count;i++)
        {            
            int id = _cursor.getInt(_columnIndex);
            //

            _videosId[i]= id;
            //
            _cursor.moveToNext();
            //
        }
    }catch(Exception ex)
    {
        showToast(ex.getMessage().toString());            
    }

    }
   protected void showToast(String msg)
   {
     Toast.makeText(_context, msg, Toast.LENGTH_LONG).show();
   }
   private OnItemClickListener videogridlistener = new OnItemClickListener() {
     public void onItemClick(AdapterView parent, View v, int position,
    long id) {
        // Now we want to actually get the data location of the file
        String [] proj={MEDIA_DATA};
        // We request our cursor again
        _cursor = managedQuery(_contentUri,
                proj, // Which columns to return
                null,       // WHERE clause; which rows to return (all rows)
                null,       // WHERE clause selection arguments (none)
                null);
          //System.gc();
         // video_column_index =    
                           _cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
          _columnIndex = _cursor.getColumnIndex(MEDIA_DATA);
            // Lets move to the selected item in the cursor
            _cursor.moveToPosition(position);

          String filename = _cursor.getString(_columnIndex);
          Intent intent = new Intent(videothumb.this, ViewVideo.class);
          intent.putExtra("videofilename", filename);
          startActivity(intent);
          showToast(filename);
         // Toast.makeText(videothumb.this, "" + position, Toast.LENGTH_SHORT).show();

         }
       };
    private class VideoGalleryAdapter extends BaseAdapter
    {
    public VideoGalleryAdapter(Context c) 
    {
        _context = c;

    }
    public int getCount() 
    {
        return _videosId.length;
    }
    public Object getItem(int position) 
    {
        return position;
    }
    public long getItemId(int position) 
    {
        return position;
    }
    public View getView(int position, View convertView, ViewGroup parent) 
    {
        ImageView imgVw= new ImageView(_context);
        try
        {
            if(convertView!=null)
            {
                imgVw= (ImageView) convertView;
            }
            imgVw.setImageBitmap(getImage(_videosId[position]));
            imgVw.setAdjustViewBounds(true);
            //imgVw.draw(canvas);
            //imgVw.setBackgroundColor(Color.BLACK);
            imgVw.setLayoutParams(new Gallery.LayoutParams(150, 100));
            imgVw.setPadding(5,5,5,5);
        }
        catch(Exception ex)
        {
            System.out.println("StartActivity:getView()-135: ex " + ex.getClass() +", 
          "+ ex.getMessage());
        }
        return imgVw;
    }

    // Create the thumbnail on the fly
    private Bitmap getImage(int id) {
    Bitmap thumb = MediaStore.Video.Thumbnails.getThumbnail(getContentResolver(),id, 
    MediaStore.Video.Thumbnails.MICRO_KIND, null);
      System.out.println("ff"+MediaStore.Video.Thumbnails.getThumbnail
     (getContentResolver(),
     id, MediaStore.Video.Thumbnails.MICRO_KIND, null));
        return thumb;
    }

     }

          }

alt text

我设置背景颜色....

1 个答案:

答案 0 :(得分:1)

您可以将ImageView的背景颜色设置为与边框颜色相同。并将imageview的填充设置为边框的大小。它可以满足您的需求。