1
Android SeekBar의 엄지 손가락에 현재 진행 상태 값을 표시하고 싶습니다. 이것은 내가 지금까지 시도한 것입니다 :안드로이드 SeekBar progressChanged 값을 SeekBar thumb 안에 표시하는 방법?
SeekBar progBar = (SeekBar)FindViewById(Resource.Id.seekBar1);
progBar.ProgressChanged += (object sender, SeekBar.ProgressChangedEventArgs e) =>
{
if (e.FromUser)
{
Drawable d = ContextCompat.GetDrawable(this, Resource.Drawable.thumb);
Bitmap bitmap = BitmapFactory.DecodeResource(Resources, Resource.Drawable.thumb);
Bitmap bmp = bitmap.Copy(Bitmap.Config.Argb8888, true);// this line gives me a System.NullReferenceException: Object reference not set to an instance of an object. error
Canvas c = new Canvas(bmp);
Canvas c = new Canvas(bmp);
string text = Integer.ToString(progBar.Progress);
Paint p = new Paint();
p.SetTypeface(Typeface.DefaultBold);
p.TextSize = 14;
p.Color = Color.White;
int width = (int)p.MeasureText(text);
int yPos = (int)((c.Height/2) - ((p.Descent() + p.Ascent())/2));
c.DrawText(text, (bmp.Width - width)/2, yPos, p);
progBar.SetThumb(new BitmapDrawable(Resources, bmp));
}
};
을 그럼 난 드로어 블 D의 유형을 받았을 때, 그것은 그라데이션 그리기입니다. 연구했지만 그래디언트 Drawable을 비트 맵으로 변환하는 방법을 찾지 못했습니다. 비트 맵을 생성하기 위해 캔버스를 사용하여
는