Tôi nghĩ rằng có vấn đề với ImageView của tôi. tôi đã tạo ra một bộ sưu tập, nơi tôi có thể chạm vào một hình ảnh và đặt nó trong ImageView của tôi dưới đây:Đặt một hình ảnh lớn trong ImageView không hoạt động
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/fonddegrade">
<Gallery android:layout_height="wrap_content"
android:id="@+id/gallery"
android:layout_width="fill_parent" />
<ImageView android:layout_below="@+id/gallery"
android:layout_height="wrap_content"
android:id="@+id/laphoto"
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"/>
này là hoàn toàn làm việc với hình ảnh nhỏ, nhưng không phải với hình ảnh lớn (3264 * 1952). Khi tôi chạm vào nó (vì vậy, cố gắng đặt nó trong ImageView), tôi gặp lỗi và lỗi ứng dụng của tôi. Đây là mã java của tôi để hiển thị hình ảnh:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.photo);
File images; // Trouver le bon endroit de stockage
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
images = new File("/sdcard/MyPerformance/Photo");
else
images = this.getFilesDir();
images.mkdirs();
File[] imagelist = images.listFiles(new FilenameFilter(){
@Override
public boolean accept(File dir, String name)
{
return ((name.endsWith(".jpg"))||(name.endsWith(".png")));
}
});
mFiles = new String[imagelist.length];
for(int i = 0 ; i< imagelist.length; i++)
{
mFiles[i] = imagelist[i].getAbsolutePath();
}
mUrls = new Uri[mFiles.length];
for(int i = 0; i < mFiles.length; i++)
{
mUrls[i] = Uri.parse(mFiles[i]);
}
imgView = (ImageView)findViewById(R.id.laphoto);
if(mFiles.length != 0)
imgView.setImageURI(mUrls[0]);
gallery = (Gallery) findViewById(R.id.gallery);
gallery.setAdapter(new ImageAdapter(this));
gallery.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
imgView.setImageURI(mUrls[position]);
}
});
}
Hoặc là vấn đề xuất phát từ setImageURI (nhưng tôi không nghĩ rằng đây là nguyên nhân, vì nó làm việc với hình ảnh nhỏ) hoặc vì kích thước của bức tranh.
Giải pháp nào bạn có thể cho tôi giải quyết vấn đề này? Bạn có lời cảm ơn của tôi.
PS: Tại sao tôi "Hello" luôn bị xóa?
Vì vậy, vấn đề là gì? Nó có bị hỏng không? Btw, hình ảnh của bạn trông rất lớn, Android có thể hết bộ nhớ trong khi tải nó. –
Pre resize hình ảnh - cái này khá là heo. Một sản phẩm thương mại là http://www.avs4you.com/AVS-Image-Converter.aspx – mozillanerd
Ngoài ra, nếu bạn chỉ cần kiểm tra các lỗi tai nạn trong logcat, nó sẽ cung cấp cho bạn một đầu mối ?? Hãy làm điều đó và đăng lỗi nếu vẫn còn nghi ngờ. – Peterdk