Проблема с видимостью ImageView при повороте устройства

Когда устройство вращается, я хочу установить видимость ImageView. Я не знаю разницы в следующих двух примерах. Интересно, не может ли onConfigurationChanged работать или есть другие проблемы.

1) нормальный код

>

package com.facebookexam.www.facebookexam;    
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle;
import android.content.res.Configuration;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    iv=(ImageView)findViewById(R.id.MainLogoIV);
    updateLayout(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE);
}
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    updateLayout(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE);
}

private void updateLayout(boolean isLandscape) {
    if (isLandscape) {
        iv.setVisibility(View.GONE);
    } else {
        iv.setVisibility(View.VISIBLE);
    }
}

}
  1. ненормальный код

пакет com.facebookexam.www.facebookexam;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.res.Configuration;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    ImageView iv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        iv=(ImageView)findViewById(R.id.MainLogoIV);
        iv.setVisibility(View.VISIBLE);
    }
    public void onConfigurationChanged(Configuration newConfig) {

        super.onConfigurationChanged(newConfig);
        iv.setVisibility(View.GONE);
    }

}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
23
1

Ответы 1

Здесь нет ничего «ненормального».

Во-первых, вы отключаете ImageView, если ориентация — альбомная. [если(...)]

Во втором случае вы заставляете ImageView исчезнуть во всех направлениях. [Без условной операции].

Другие вопросы по теме