Не удается найти линейное расположение на экране-заставке - исключение нулевого указателя - PullRequest
0 голосов
/ 05 февраля 2012

Мой заставочный экран сильно растягивается при запуске приложения, поэтому я попытался найти решение по одному из приведенных здесь вопросов, чтобы вручную настроить дизеринг и очистку следующим образом:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        BitmapFactory.Options myOptions = new BitmapFactory.Options();
        myOptions.inDither = true;
        myOptions.inScaled = false;
        myOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;
        myOptions.inDither = false;
        myOptions.inPurgeable = true;
        Bitmap preparedBitmap = BitmapFactory.decodeResource(getApplication()
                .getResources(), R.drawable.bg, myOptions);
        Drawable background = new BitmapDrawable(preparedBitmap);
        ((LinearLayout) findViewById(R.id.layout_main))
                .setBackgroundDrawable(background);

Вместо размещения изображения всплескакоторый вызывает плохое растяжение, я устанавливаю фон и настраиваю опции.Мой xml выглядит следующим образом

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:id="@+id/layout_main">
</LinearLayout>

Я пытался очистить + перестроить + обновить, но все равно я получаю исключение NullPointerException при

((LinearLayout) findViewById(R.id.layout_main))
                .setBackgroundDrawable(background);

Не удается найти линейный макет.Есть идеи?Помогите!

1 Ответ

0 голосов
/ 27 февраля 2012

Я решил эту проблему, добавив в макет некоторый фиктивный контент, например imageview с src = @null.Иначе раскладка не раздулась.После этого я сделал то, что делал, и вуаля.Мораль: чтобы раздувать макет, который вы хотите найти программно, добавьте некоторый фиктивный контент, а не только макет (я не знаю, что говорят официальные документы, но это то, что я нашел в моем случае)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...