2016-03-21 6 views
0

У меня есть изображение 1080x1920px, которое я хочу использовать в качестве фонового изображения в своем приложении.Растровое изображение слишком большое

На моем Galaxy S6 i т работает отлично, но как я иду вниз к меньшему размеру экрана (S4 т.е.) Я получаю это:

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

помимо изображения не отображается на всех.

Это мой макет:

<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"/> 

И мой MainActivity пуст за исключением OnCreate. Я прочитал другие сообщения об этой проблеме, но никто не предоставил мне никаких реальных решений.

+0

Возможный дубликат [ "Bitmap слишком большой, чтобы быть загружено в текстуру"] (http://stackoverflow.com/questions/10271020/bitmap-too-large-to- be-uploaded-in-a-texture) – Shark

+0

См. RomainGuy's [ответ здесь] (http://stackoverflow.com/questions/7428996/hw-accelerated-activity-how-to-get-opengl-texture-size-limit) – Shark

+1

Изображение масштабируется в зависимости от плотности пикселей вашего устройства. Изображение на самом деле слишком велико. Вы можете определить максимальный размер OpenGL позволит и изменить размер растрового изображения, чтобы он соответствовал, если вы хотите, чтобы он работал для всех растровых изображений, в том числе динамически добавленных. Что касается ссылки @Shark, сделанной на ответ Ромена, вы, вероятно, захотите также посмотреть на это: http://stackoverflow.com/questions/26985858/gles10-glgetintegerv-returns-0-in-lollipop-only/27092070#comment59878380_27092070 – zgc7009

ответ

1

Если вы используете Android Studio, вы можете попробовать добавить bg как изображение или вектор актива

2

Вы должны создать Drawable имя папки nodpi. nodpi apks работает со всеми телефонами.

растяжимый в разрешении/вытяжке-nodpi/справедливо для любой плотности экрана .if есть другая вытяжка с тем же базовым именем в плотности конкретного каталога, и устройство работает приложение происходит с имеют плотность экрана, будет использоваться ресурс, специфичный для плотности. В результате -nodpi становится резервным, который будет использоваться в случаях, когда вы не имеют чего-то определенного для плотности.

Читать CommonsBlog

Смежные вопросы