2012-08-16 36 views
1

我遵循另一个StackOverflow教程,您可以从相机捕获位图并将其设置为图像视图。我遇到的问题是返回的图片非常小,不能填充屏幕的其余部分。在我的XML我下面......从相机捕获的ImageView大小

<ImageView 
    android:id="@+id/imgview" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

如果我更改为“FILL_PARENT”我得到一个较大的图像,但现在我的问题是,我将如何去获得实际尺寸的图像,并把它放在可滚动(在x和y方向)视图容器。

谢谢!

BTW,这里是从相机捕获的位图的代码...

public class MainActivity extends Activity implements OnClickListener 
{ 
private ImageView imageView; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Log.d("matt","1"); 

    Button b = (Button)this.findViewById(R.id.btn); 
    imageView = (ImageView)this.findViewById(R.id.imgview); 

    b.setOnClickListener(this); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 

@Override 
public void onClick(View v) 
{ 
    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(cameraIntent,1888); 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if(requestCode == 1888) 
    { 
     Log.d("matt", "3.a"); 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     Log.d("matt", "3.b"); 
     imageView.setImageBitmap(photo); 
     Log.d("matt", "3.c"); 
    } 
} 
+0

为什么你需要一个可滚动的视图容器?你不是说“返回的图片非常小,不能填充屏幕的其余部分”吗? – 2012-08-16 20:54:46

+0

啊,它的确如此,但我一直在寻找能够以最大的形式展示图片的能力。 – Matthew 2012-08-17 14:21:33

+0

哦,好的,请检查下面的编辑,看看是否有帮助。 – 2012-08-17 16:13:28

回答

1

调用者可能会传递额外的EXTRA_OUTPUT来控制此图像将写入的位置。如果EXTRA_OUTPUT不存在,则在额外字段中将小图像作为位图对象返回。这对于只需要小图像的应用程序很有用。如果EXTRA_OUTPUT存在,则全尺寸图像将被写入EXTRA_OUTPUT的Uri值。