2016-03-21 22 views
0

Uygulamamda arka plan resmi olarak kullanmak istediğim bir 1080x1920px resmim var. Benim Galaxy S6 i t üzerindeBitmap çok büyük

çalışıyor ama daha küçük bir ekran boyutuna aşağı (S4 yani) gitmek gibi bu alırsınız: hiç gösterilmiyor görüntünün yanı sıra

W/OpenGLRenderer﹕ Bitmap too large to be uploaded into a texture (3240x5760, max=4096x4096) 

.

Bu

benim düzenidir:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:orientation="vertical" 
android:layout_height="match_parent" 
tools:context="${relativePackage}.${activityClass}" 
android:background="@drawable/bg"> 

<EditText android:id="@+id/username_textfield" 
      android:layout_width="270dp" 
      android:layout_height="40dp" 
      android:hint="Username" 
      android:textColorHint="#ffffff" 
      android:textColor="#ffffff" 
      android:ellipsize="start" 
      android:gravity="center_horizontal" 
      android:singleLine="true" 
      android:layout_marginTop="50dp" 
      android:layout_marginLeft="60dp" 
      android:background="@drawable/textfield_bg"/> 

<EditText android:id="@+id/password_textfield" 
      android:layout_width="270dp" 
      android:layout_height="40dp" 
      android:hint="Password" 
      android:textColorHint="#ffffff" 
      android:textColor="#ffffff" 
      android:ellipsize="start" 
      android:gravity="center_horizontal" 
      android:singleLine="true" 
      android:layout_marginTop="10dp" 
      android:layout_marginLeft="60dp" 
      android:background="@drawable/textfield_bg"/> 

Ve MainActivity onCreate dışında boş. Bu konuyla ilgili diğer yazıları okudum, ancak hiçbiri benim için gerçek bir çözüm sunmadı. Android Studio kullanıyorsanız

+0

Olası yinelenen (http://stackoverflow.com/questions/10271020/bitmap-too-large-to- Oku bir kere-içine-it-doku) – Shark

+0

Bkz. RomainGuy's [burada [cevap]] (http://stackoverflow.com/questions/7428996/hw-accelerated-activity-how-to-get-opengl-texture-size-limit) – Shark

+1

Görüntü, cihazınızın piksel yoğunluğuna bağlı olarak ölçeklendirilmiştir. Görüntü aslında çok büyük. Dinamik olarak eklenenler de dahil olmak üzere, tüm bitmapler için çalışmasını istiyorsanız, maksimum boyutun OpenGL'nin bitmap'inize sığmasını ve yeniden boyutlandırmasını belirleyebileceğini belirleyebilirsiniz. Roma'nın cevabına yapılan @Shark bağlantısına gelince, muhtemelen şu şekilde bakmak isteyeceksiniz: http://stackoverflow.com/questions/26985858/gles10-glgetintegerv-returns-0-in-lollipop-only/27092070#comment59878380_27092070 – zgc7009

cevap

1

Eğer

2

Sen çekilebilir klasör adı nodpi oluşturmalısınız görüntü ya da vektör varlık olarak bg eklemeyi deneyebilirsiniz. nodpi tüm telefonlarda çalışır.

res/çekilebilir-nodpi A çekilebilir/a yoğunluk özgü dizinde aynı temel ada sahip başka çizilebilir vardır .eğer herhangi bir ekran yoğunluğu için geçerlidir ve uygulamanızı çalıştıran cihaz olur Bu ekran yoğunluğuna sahip, yoğunluğa özel kaynak kullanılacak. Sonuç olarak, -nodpi, 'un yoğunluğa özgü bir özelliğe sahip olmadığı durumlarda kullanılmak üzere bir geri dönüş olur.

[ "çok büyük Bitmap bir doku içine yüklenecek"] olarak CommonsBlog

İlgili konular