1

ユーザーがAndroid携帯電話を時計回り/反時計回りに回転させたときに、画面の向きを縦向きから横向きに、またはその逆に変更したいと考えています。誰でもこれを達成する方法を手伝ってもらえますか? ユーザーが Android 携帯電話を回転させたときに発生するイベントがわかりません。

たとえば、ユーザーが UI のボタンに触れると、 touch イベントが発生します。では、ユーザーが Android 携帯電話を振ると、どのようなイベントが発生するのでしょうか? これについて私を助けてください。

4

3 に答える 3

1

ハイ、Georgy Gobozovの助けを借りて Solution を入手しましたが、適切に機能させるには、以下に示すようにその Solution を改良する必要があります。

@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);
     }
    } 
于 2010-11-02T12:20:02.013 に答える
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/

于 2010-11-02T07:40:36.503 に答える
0

アクティビティで AndroidManifest に追加するだけです

android:configChanges="keyboardHidden|orientation"

次に、アクティビティでこのメソッドをオーバーライドする必要があります

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

検索を使用すると、この質問は非常に人気があります。

于 2010-11-01T20:45:00.757 に答える