Модераторы: javastic
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение изменение ориентации экрана, виджет 
:(
    Опции темы
Schumi
Дата 4.7.2011, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 5.4.2006

Репутация: нет
Всего: 1



Проблема заключается в том, что мне нужно знать момент изменения ориентации экрана, чтобы изменить состояние виджета.
Применение layout-land не поможет.
PM ICQ YIM   Вверх
ivanovpv
Дата 4.7.2011, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 9
Всего: 28



Надо задекларировать в манифесте, что изменение ориентации является изменением конфигурации 
Код

<activity android:name=".MyActivity"           
              android:configChanges="orientation"           
              android:label="@string/myActivityLabel"> 


тогда при повороте аппарата будет вызываться метод

Код

@Override
public void onConfigurationChanged(Configuration newConfig) 
{    
       super.onConfigurationChanged(newConfig);     
       if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) 
       {         
                //ландшафтная ориентация
       } 
       else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
       {         
                //портретная ориентация
       }   



Это сообщение отредактировал(а) ivanovpv - 4.7.2011, 08:17


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
Ne1tr1n0
Дата 14.9.2011, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 1.3.2009

Репутация: нет
Всего: 8



Решил не создавать новую тему, спросить здесь. А как при запуске приложения определить ориентацию экрана, чтоб сразу сделать что нужно, а потом при смене ориентации менять?
Спасибо
PM MAIL   Вверх
spyswamp
Дата 14.9.2011, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 4
Всего: 7



Ne1tr1n0http://stackoverflow.com/questions/2795833...n-android-phone этого достаточно?


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
Ne1tr1n0
Дата 15.9.2011, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 1.3.2009

Репутация: нет
Всего: 8



Падает приложение. Код:
Код


public class HelloWorld extends Activity {
    /** Called when the activity is first created. */
    TextView txt;
    
    public int getScreenOrientation()
    {
        Display getOrient = getWindowManager().getDefaultDisplay();
        int orientation = Configuration.ORIENTATION_UNDEFINED;
        if(getOrient.getWidth()==getOrient.getHeight()){
            orientation = Configuration.ORIENTATION_SQUARE;
        } else{ 
            if(getOrient.getWidth() < getOrient.getHeight()){
                orientation = Configuration.ORIENTATION_PORTRAIT;
            }else { 
                 orientation = Configuration.ORIENTATION_LANDSCAPE;
            }
        }
        return orientation;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getScreenOrientation() == Configuration.ORIENTATION_PORTRAIT)
        {
         txt.setText("PORTRAIT");
        }
        else if (getScreenOrientation() == Configuration.ORIENTATION_LANDSCAPE)
        {
         txt.setText("LANDSCAPE");
        }
        setContentView(R.layout.main);
    }
    
    @Override
    public void onConfigurationChanged(Configuration newConfig)
    {
        txt = (TextView) findViewById(R.id.Text);
     super.onConfigurationChanged(newConfig);     
           if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) 
           {         
               txt.setText("LANDSCAPE");
               
           } 
           else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
           {         
            txt.setText("PORTRAIT");
           }   
    } 
}


Добавлено через 5 минут и 12 секунд
А, сам дурак. txt к TextView'у не привязал и ориентацию проверяю до setContentView. Вопрос снят.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.0914 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.