画面の向きから独立したレイアウトにしたい。
このようなもの:
(出典: userapi.com )
さて、あなたが望むものはランドスケープモードとは何の関係もありません、あなたはそれらがランドスケープモードにあるように見えるようなボタンテキストが欲しいだけです。私は一種のハックである何かを提案することができます。
そのためには、通常どおり、ボタンの高さと幅を広げて、画面の左端と右端に揃えることができます。
ボタンテキストの場合、テキストの.jpgまたは.pngを作成し、それを回転させてボタンの背景として設定する必要があります(ボタンテキストを動的に変更する場合は、他のテキストのスナップが必要です)。これは見栄えがよくありませんが、探していることを行う方法の1つです。
つまり、縦向きと横向きのビュー用に別々のレイアウト ファイルが必要ですか? 次に、res の下の layout および layout-land ディレクトリにそれぞれ 2 つの異なるファイルを作成する必要があります。
res
|_ layout
|_ layout-land
Android は、デバイス構成に基づいて適切なレイアウトを呼び出します。
データを保持するには、次を使用できます
@Override
public Object onRetainNonConfigurationInstance() {
Bundle bundle = new Bundle();
return bundle;
}
onCreate() でバンドルを取得します
final Bundle savedBundle = (Bundle)getLastNonConfigurationInstance();