2010-11-01 2 views
1

Я хочу изменить ориентацию экрана с портрета на пейзаж и наоборот, когда пользователь поворачивает свой мобильный телефон Android по часовой стрелке/против часовой стрелки. Может ли кто-нибудь помочь мне, как этого добиться? Я не знаю, какое событие уволили, когда пользователь поворачивает свой мобильный телефон Android.Нужна помощь в изменении ориентации экрана в Android

Например, когда пользователь прикасается к кнопке в пользовательском интерфейсе, происходит событие касания. Итак, когда пользователь встряхивает свой мобильный телефон на Android, каково это событие? Пожалуйста помоги мне с этим.

ответ

1

Хай, я получил решение с помощью Георгий Gobozov, Но это решение должно быть уточнено, как показано ниже, чтобы работать его надлежащим образом,

@Override 
    public void onConfigurationChanged(Configuration newConfig) { 
      super.onConfigurationChanged(newConfig); 

    if(newConfig.equals(Configuration.ORIENTATION_LANDSCAPE)) 
    { 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } 
    else if(newConfig.equals(Configuration.ORIENTATION_PORTRAIT)) 
    { 
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
    } 
    } 
0

Просто добавьте в AndroidManifest активности

android:configChanges="keyboardHidden|orientation" 

Затем вы должны переопределить этот метод в своей деятельности

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    setContentView(R.layout.myLayout); 
} 

и использовать поиск, этот вопрос очень популярен.

+0

Этот ответ не имеет никакого отношения к встряхиванию телефона. – ShadowGod

+0

@ Герогий Гобозов: PLS ссылается на ответ, отправленный мной, я передаю вам свой вопрос, потому что у вас было показано событие стрельбы, которое является onconfigurationchanged методом. –

+0

@ShadowGod: Отвечайте ответ, отправленный мной –

0
public class Accelerometer extends Activity 
    implements AccelerometerListener{ 

    public void onShake(float force) { 
     Toast.makeText(this, "Phone shaked : " + force, 1000).show(); 
    } 
} 

Вы можете обратиться к ссылке ниже

http://blog.androgames.net/85/android-accelerometer-tutorial/

+0

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

+0

@Tilsan The Fighter: вы прошли через приведенный ниже пример, который я дал ссылку. пожалуйста, напишите, что –

+0

Shah: Thanx для помощи ур, я реализовал это очень простым способом, данное Георгием Гобозовым, и pls ссылаются на правильный ответ, я разместил его. –