2016-11-29 4 views
-1

by seekbar Я изменил размер текста, можно сохранить измененный размер textview с sharedpreferences, а при повторной операции показать изменение размера textview?Как сохранить измененный текст в SharedPreferences?

MainActivity.java

общественного класса MainActivity простирается AppCompatActivity {

TextView txt; 
SeekBar skb; 
Button btn; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    //SharedPreferences ?? 





    txt = (TextView) findViewById(R.id.txt); 

    skb = (SeekBar) findViewById(R.id.skb); 
    skb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      android.view.ViewGroup.LayoutParams layoutParams = txt.getLayoutParams(); 
      layoutParams.height = progress; 
      layoutParams.width = progress; 
      txt.setLayoutParams(layoutParams); 

     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 

     } 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 

     } 
    }); 


    btn = (Button) findViewById(R.id.btn); 
    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      //????? 

     } 
    }); 
} 

}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.gela.myapplication111.MainActivity"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Hello World!" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" 
     android:background="@color/colorAccent" 
     android:id="@+id/txt" 
     android:gravity="center" 
     android:textStyle="bold" /> 

    <SeekBar 
     android:layout_width="250dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/skb" 
     android:layout_marginBottom="64dp" 
     android:max="250" 
     android:indeterminate="false" 
     android:layout_above="@+id/btn" 
     android:layout_centerHorizontal="true" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="SAVE" 
     android:id="@+id/btn" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="23dp" /> 
</RelativeLayout> 
+0

у вас есть общие сведения о sharedPreferences? Это один из самых простых в андроиде ... – Opiatefuchs

+1

[здесь у вас много примеров] (http://stackoverflow.com/questions/3851560/how-to-use-sharedpreferences). oh и [здесь тоже] (http://stackoverflow.com/questions/23024831/android-shared-preferences-example). вы даже [googled antything about] (https://www.google.pl/search?q=shared+preferences+stackoverflow)? дублировать – snachmsm

ответ

1

Просто сохраните новую высоту и ширину

 preferenceEditor = sharedpreferences.edit(); 
    preferenceEditor.putString("height",progress); 
    preferenceEditor.putString("widht",progress); 
    preferenceEditor.commit(); 

при чтении ... в OnCreate()

 int width = sharedpreferences.getInt("width",10); 
    int height = sharedpreferences.getInt("height",10); 
1

здесь есть пример

для хранения значения:

@Override 
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
     android.view.ViewGroup.LayoutParams layoutParams = txt.getLayoutParams(); 
     layoutParams.height = progress; 
     layoutParams.width = progress; 
     txt.setLayoutParams(layoutParams); 
     SharedPreferences preferences = 
      PreferenceManager.getDefaultSharedPreferences(context); 
     SharedPreferences.Editor editor = sharedpreferences.edit() 
     editor.putInt("progress", progress).commit(); 
    } 

для извлечения и установки:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    txt = (TextView) findViewById(R.id.txt); 

    SharedPreferences preferences = 
      PreferenceManager.getDefaultSharedPreferences(context); 
    int progress = preferences.getInt("progress"); 

    android.view.ViewGroup.LayoutParams layoutParams = txt.getLayoutParams(); 
    layoutParams.height = progress; 
    layoutParams.width = progress; 
    txt.setLayoutParams(layoutParams); 

     ... 

 Смежные вопросы

  • Нет связанных вопросов^_^