Professional Documents
Culture Documents
Project : SeekBarDemo
<TextView
android:id = "@+id/textView"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "TextSize" >
</TextView>
<SeekBar
android:id = "@+id/seekbar"
android:layout_width = "250dip"
android:layout_height = "wrap_content"
android:layout_marginTop = "20dip"
android:max = "25" >
</SeekBar>
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity = "center" >
<SeekBar
android:id = "@+id/seekbar"
android:layout_width = "250dip"
android:layout_height = "wrap_content"
android:layout_marginTop = "20dip"
android:max = "25" >
</SeekBar>
textView = (TextView)findViewById(R.id.textView);
seekBar = (SeekBar)findViewById(R.id.seekbar);
seekBar.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
textView.setTextSize( (float)seekBar.getProgress()+14 );
}
});
}
}
TextView textView;
SeekBar seekBar;
seekBar = (SeekBar)findViewById(R.id.seekbar);
วิธีการ
1.เอาค่าจาก SeekBar ที่ตําแหน่งที่ Tab อยู่ แต่ค่าต่ําสุดของ SeekBar คือ 0
ดังนั้นเราจะเอาค่าที่ได้ + 14 นั่นคือ ขนาดต่ําสุดของตัวอักษร คือ 14 จะได้ว่า
seekBar.getProgress()+14
2.เอาค่าที่ได้ไปจัดการกับขนาดของัวอักษร ด้วยฟังก์ชัน setTextSize( float )
แต่เนื่องจาก SeekBar ให้ค่าเป็น Integer เราจึงต้องแปลง Integer ให้เป็น Float จะได้ว่า
textView.setTextSize( (float)seekBar.getProgress()+14 );
drbomkung@gmail.com