レイアウトファイルで定義されているtextviewのtextsizeが12spだとしたら、動的に24sp .butに変更したとします。設定が変更されたときに実行時に設定されているLayoutParamsを保持することはありますか?設定変更後にプログラムで変更されたLayoutParamsを復元する方法
答えて
こんにちはuser3591494あなたはアンドロイドでテキストサイズを保存して復元できます。あなたの活動に以下のコードを追加してください。あなたの活動は再びこの
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// restore your text size and set to your text view
float textSize = savedInstanceState.getFloat(TEXT_SIZE_KEY);
yourTextView.setTextSize(textSize);
}
こんにちはのように復元した後
private final String TEXT_SIZE_KEY = "text_size";
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// save text view size
savedInstanceState.putFloat(TEXT_SIZE_KEY, yourTextView.getTextSize());
super.onSaveInstanceState(savedInstanceState);
}
は、その後、あなたのTEXTSIZEを復元、あなたのコメントへの申し訳ありません答えが掲載されるには大きすぎます。アプローチは同じです。したがって、関数にカーソルを置くとlinearLayout.LayoutParams(0、MATCH_PARENT、1f)を呼び出すと、width、height、およびweightというパラメータがlinearLayout.LayoutParams(int、int、float)であることがわかります。したがって、同じアプローチを使用すると、3つの値をsavedInstanceState.putInt(FRAME_A_WIDTH、yourLayout.getLayoutParams()。width)を使用してバンドルに格納し、onRestoreInstanceState()関数で同じアプローチを使用して復元します。テキストビューでyourTextView.setTextSize(textSize)を呼び出す代わりに、復元された値でビュー上でsetLayoutParamsを呼び出すだけです。この質問のコードスニペットが必要な場合はお知らせください。& xmlを投稿してください。上記に追加します。
テキストサイズでない場合はどうなりますか?もしそれがビューの高さの幅なら、LinearLayoutには2つのフレームレイアウトがあります。 framelayout1とframelayout2の幅と高さが両方ともMATCH_PARENTで、framelayout2の幅が0で、高さがMATCH_PARENTです.I 2つのフレームレイアウトのLayoutParamsをプログラムによって変更します:FrameLayout1.setLayoutParams(new linearLayout.LayoutParams(0、MATCH_PARENT、1f) ); \t \t FrameLayout2.setLayoutParams(new LinearLayout.LayoutParams(0、MATCH_PARENT、2f)); 画面を回転させると、どのようにLayoutParamsを復元できますか? – user3591494
こんにちはuser3591494、私は私の答えのコメントを更新するにはスタックの限界として投稿するには長すぎます。 –
- 1. マルチモニタの設定変更後にフォームの位置を復元/クリアする方法
- 2. Hg:バックアウトされた変更を復元する方法
- 3. 変数が既に変更された後で変数の値を復元する方法は?
- 4. Delphi:モニタの設定が変更されたときにフォームの元の場所を復元する方法
- 5. ファイルを変更した後にファイルの変更時刻を復元する方法はありますか?
- 6. 方向のフラグメント復元状態が変更されました
- 7. デタッチされたHEAD中にプッシュされた変更を復元する
- 8. 更新されたトークンの後にトピックサブスクリプションを復元する方法は?
- 9. Swift SearchBarプログラムで変更された後に元の検索アイコンを取得する方法
- 10. データベース(mysql)を変更して5分後に復元する方法は?
- 11. 削除された変更セットを復旧する方法
- 12. 設定を変更した後にuiimageviewを更新する
- 13. TFSのアンシェイプされた変更を元に戻す方法
- 14. 設定変更後にウィジェットが更新されない
- 15. 指定された位置でスピナーアイテム名をプログラムで変更する方法
- 16. gitのステージングされた変更とunstagedされた変更を迅速に元に戻す方法は?
- 17. アンドロイド - LayoutParamsをプログラムで設定する
- 18. プログラムのローカル設定マネージャを変更する方法
- 19. SQL Server - 復元時に既定のデータファイルの宛先を変更する方法
- 20. バックアップ/復元ワードプレスサイト(ドメインを変更する)
- 21. 名前の変更からファイルを復元する方法
- 22. プログラムによるBIOSの時刻設定の変更方法は?
- 23. LinearLayoutのLayoutParamsを変更するアニメーション
- 24. ビジュアルスタジオで "保留中の変更を元に戻す"の後にファイルを回復する(変更する)2015
- 25. LayoutParamsの変更をプログラムでサポートするためのカスタムビューの作成
- 26. 別のフォーム/オブジェクトに渡されてそこに変更された後の "元の"オブジェクトの変数の変更
- 27. 設定変更や言語変更(ロケール)でAndroidアプリを更新する方法
- 28. UIボタンの色が変更された後に変更する
- 29. 崇高なテキスト設定を変更した後にすべてのファイルのタブサイズを変更する方法
- 30. プログラムでWCFサービスエンドポイントを変更した後のセキュリティ設定を維持する
あなたの目的に最も適した 'SavedInstance'または' SharedPreference'を使う必要があります。 –
詳細はこちら - > https://developer.android.com/guide/topics/resources/runtime-changes.html –