2017-12-14 4 views
0

私は自分の「TextViews」のカスタムズームを作成しているので、ユーザーはズームイン/ズームアウトできます。私はズームの位置を保持したかったので、次にズームインする必要はありません。私はそれをする最善の方法が何であるか疑問に思っていましたか?ありがとう。テキストサイズを保存する

private void getTextViewSize() { 
    boolean gotTextViewsize = false; 
    boolean gotDocumentViewsize = false; 
    for (int i = 0; i < linearLayout.getChildCount(); i++) { 
     if (linearLayout.getChildAt(i) instanceof TextView) { 
       (prefs.edit().putFloat("textViewSize",((TextView) linearLayout.getChildAt(i)).getTextSize())).commit(); 
      gotTextViewsize = true; 
     }else if(linearLayout.getChildAt(i) instanceof DocumentView){ 
      (prefs.edit().putFloat("documentViewSize",((DocumentView) linearLayout.getChildAt(i)).getDocumentLayoutParams().getTextSize())).commit(); 
      gotDocumentViewsize = true; 
     } 

     if(gotDocumentViewsize && gotTextViewsize){ 
      return; 
     } 
    } 
} 

これは、すべてのズーム後に呼び出されるテキストビューのサイズを取得します。

は、私は2つの方法

のgetテキストサイズを持っています。

次が設定されているテキストサイズは:

private void setTextSize() { 

    for (int i = 0; i < linearLayout.getChildCount(); i++) { 
     if (linearLayout.getChildAt(i) instanceof TextView) { 
      if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
       ((TextView) linearLayout.getChildAt(i)).setTextSize(prefs.getFloat("textViewSize", 15.0f)); 
      } else { 
       ((TextView) linearLayout.getChildAt(i)).setTextSize(prefs.getFloat("textViewSize", 14.0f)); 
      } 

     }else if (linearLayout.getChildAt(i) instanceof DocumentView){ 
      ((DocumentView) linearLayout.getChildAt(i)).getDocumentLayoutParams().setTextSize(prefs.getFloat("documentViewSize", 15.0f)); 
     } 
    } 
} 

これはしかし、それはそれがあったよりもはるかにはるかに大きななり、それは ただけでどのようにサイズを置く必要があります。何故ですか?

答えて

3

SharedPreferencesを使用します。これらは、アクティビティが終了しても、ユーザーがアプリデータを消去するまで保持されます。

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref"); 
Editor editor = pref.edit(); 
editor.putInt("zoomLevel",yourZoomLevel); 

使用を取り出す:

yourZoomLevel=editor.getInt("zoomLevel",0); 
+0

私は、しかし、更新されたコードを確認してください、それはまだ動作していないことでした。 –

関連する問題