Is ProgressBar correctly handling padding-values?

by Cyril M » Thu, 05 Mar 2009 01:04:43 GMT

Sponsored Links
 ere is a skeleton of the class I'm currently working on.
Unfortunatly, i'm stuck on two problems and it's driving me mad !

The first problem is about the onKeyDown(KeyEvent) : I don't
understand why this method isn't called while I pressed a key on the
The second problem deals with padding. Indeed, I'm always creating
widget using fake paddings in order to be sure my widget correctly
handle those values. Unfortunatly, I tried to extend a ProgressBar and
I had some problems because my ProgressBar is clipped.

My code is :


import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.widget.ProgressBar;

public class ProgressWheel extends ProgressBar {

private static final String TAG_LOG = "ProgressWheel";
private static final Paint mPaint = new Paint();

private float oldX;

public ProgressWheel(Context context, AttributeSet attrs) {
this(context, attrs, 0);

public ProgressWheel(Context context, AttributeSet attrs, int
defStyle) {
super(context, attrs, defStyle);


setPadding(5, 15, 40, 10)


protected synchronized void onDraw(Canvas canvas) {
* I'm not sure the onDraw(Canvas) method from ProgressBar is
* implemented. Indeed. With padding values, The progressBar
may be
canvas.drawRect(0, 0, getWidth()-1, getHeight()-1, mPaint);

public boolean onKeyDown(int keyCode, KeyEvent event) {
* I don't understand why this method is not called
int progress = getProgress();
Log.d(TAG_LOG, "onKeyDown");
switch (keyCode) {
if (progress <= 0) break;
setProgress(progress - 1);
return true;

if (progress >= getMax()) break;
setProgress(progress + 1);
return true;

return super.onKeyDown(keyCode, event);

public boolean onTouchEvent(MotionEvent event) {
Log.d(TAG_LOG, "onTouchEvent");
int progress = getProgress();

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
oldX = event.getX();
case MotionEvent.ACTION_MOVE:
if (event.getX() > oldX) {
setProgress(progress + 1);
else setProgress(progress -

Is ProgressBar correctly handling padding-values?

by Sundog » Thu, 05 Mar 2009 01:52:47 GMT

 > Sorry for being terse, sent from my phone :)

Yeah, isn't that keyboard a drag?  ;)

Sponsored Links

Is ProgressBar correctly handling padding-values?

by Cyril Mottier » Thu, 05 Mar 2009 17:01:11 GMT

  prefer you being terse and giving understandable answers than no one
answering me :p. Thanks ;)

On 4 mar, 18:09, Romain Guy <> wrote:

Other Threads

1. need help again with motorola defy

okeh, gini ceritanya, sudah dapet koneksi wifi, udah bikin account 
motoblur di website.. tapi begitu defy mau konek ke motoblur, dia 
billang error karena jam di hape salah..

huhuhuu.. setelah saya liat, ternyata emang bener jamnya 1 januari 1970 
jam 7.40 pagi...

apakah ada cara untuk masuk dan setting jam dari dialer?? soalnya 
nyangkut di setup motoblur terus nich.. dasar t-mobile senengnya bikin 
susah aja... hiks..

minta tolong yaaa...





2. Mod: Mohon Doa Restu web official id-android

Masih kosong dan blom sempat di urus

Tunggu tanggal launchingnya :-)


Agus Hamonangan


3. How can I intercept a dial request to use my app similar to the way Skype intercepts

4. How does Microsoft Outlook sync between PC and adroid device works

5. i need any real time video streaming sample code

6. Weird FC from unregisterReceiver

7. I want to an application which start on boot up time