android - 相机捕获的 ImageView 大小

标签 android

我遵循了另一个 StackOverflow 教程,您可以在其中从相机捕获位图并将其设置为 ImageView 。我遇到的问题是返回的图片非常小,无法填满屏幕的其余部分。在我的 XML 中,我执行以下操作......

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

如果我更改为“fill_parent”,我会得到更大的图像,但我现在的问题是如何获取实际大小的图像并将其放在可滚动(在 x 和 y 方向) View 容器中。

谢谢!

顺便说一句,这是从相机捕获位图的代码...

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");
    }
}

最佳答案

如果您需要捕获图像的尺寸,那么您可以使用:

int height = photo.getHeight();
int width = photo.getWidth();

否则,如果您想了解捕获的图像的大小(以兆字节为单位),请引用我对这个问题的回答:https://stackoverflow.com/a/11846455/1512836

[编辑] - 请选中此项以滚动 ImageView :Images in ScrollView in android

关于android - 相机捕获的 ImageView 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11995045/

相关文章:

android - 由 : java. lang.NullPointerException : Attempt to invoke virtual method 'void . .. 在空对象引用上引起

使用 unicode 的 java 客户端和 C# 服务器

android - Android 中的 DeveloperPayload 是什么?

android - 在安卓中显示日历

java - BottomNavigationView 与 RecycleView 的最后一项重叠

android studio 2.2如何在没有android-apt插件的情况下应用dagger2

android - Kotlin - 通过 Intent 将函数作为参数传递

java - 在同一 Activity 中通过套接字发送和接收数据

java - 当我的应用程序设置为默认值时,手机本身的短信应用程序被禁用

java - android logcat 消息在 eclipse 中不可见