Re: [android-developers] Re: [Help] how to draw multiple lines in Edittext?

2010-05-11 Thread Vincent Tsao
On Mon, May 10, 2010 at 9:59 PM, social hub shubem...@gmail.com wrote:

 What exactly is your problem here . getting line count 18 when u filled
 textbox with 18 lines?


not a problem but a tricky solution. y, in this solution , i fill 18  empty
lines so getLinecount will return me 18


 On Sat, May 8, 2010 at 12:53 AM, Vincent Tsao caojunvinc...@gmail.comwrote:

 @Soical Hub: thanks for your help, your suggestion inspired me a lot

 i finally find this way to get padding: *getCompoundPaddingTop()*, and it
 works fine now

 what' more, i find another tricky way to meet my requirement:

 *Step 1: fill in the EditText with 18 'empty' line rows*

 StringBuilder sb = new StringBuilder();
  for (int i = 0; i  18; i++) {
  sb.append(\n);
  }

 * this.setText(sb.toString());*


 *Step 2: draw those 18 lines

 *
 *  *  @Override

 protected void onDraw(Canvas canvas) {
 canvas.drawColor(paperColor);
 * int count = getLineCount(); // that's the tricky part, now
 count will return 18*
  Rect r = mRect;

  for (int i = 0; i  count; i++) {
  int baseline = getLineBounds(i, r);

  // Draw ruled lines
  canvas.drawLine(r.left, baseline + 1, r.right, baseline + 1,

  linePaint);

  canvas.save();
  }
  super.onDraw(canvas);
  canvas.restore();**
 *  *}

 but i don't like this tricky way personally :)


  --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.comandroid-developers%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en


  --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.comandroid-developers%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en


-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Re: [android-developers] Re: [Help] how to draw multiple lines in Edittext?

2010-05-10 Thread social hub
What exactly is your problem here . getting line count 18 when u filled
textbox with 18 lines?

On Sat, May 8, 2010 at 12:53 AM, Vincent Tsao caojunvinc...@gmail.comwrote:

 @Soical Hub: thanks for your help, your suggestion inspired me a lot

 i finally find this way to get padding: *getCompoundPaddingTop()*, and it
 works fine now

 what' more, i find another tricky way to meet my requirement:

 *Step 1: fill in the EditText with 18 'empty' line rows*

 StringBuilder sb = new StringBuilder();
  for (int i = 0; i  18; i++) {
  sb.append(\n);
  }

 * this.setText(sb.toString());*


 *Step 2: draw those 18 lines

 *
 *  *  @Override

 protected void onDraw(Canvas canvas) {
 canvas.drawColor(paperColor);
 * int count = getLineCount(); // that's the tricky part, now count
 will return 18*
  Rect r = mRect;

  for (int i = 0; i  count; i++) {
  int baseline = getLineBounds(i, r);

  // Draw ruled lines
  canvas.drawLine(r.left, baseline + 1, r.right, baseline + 1,

  linePaint);

  canvas.save();
  }
  super.onDraw(canvas);
  canvas.restore();**
 *  *}

 but i don't like this tricky way personally :)


  --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.comandroid-developers%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en


-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Re: [android-developers] Re: [Help] how to draw multiple lines in Edittext?

2010-05-07 Thread social hub
I believe you should include the height of your title bar and status bar as
well. If you account for one of them i guess it will look right



On Fri, May 7, 2010 at 6:54 AM, Vincent Tsao caojunvinc...@gmail.comwrote:

 any help?


  --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.comandroid-developers%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en


-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Re: [android-developers] Re: [Help] how to draw multiple lines in Edittext?

2010-05-07 Thread Vincent Tsao
On Fri, May 7, 2010 at 9:45 PM, social hub shubem...@gmail.com wrote:

 I believe you should include the height of your title bar and status bar as
 well. If you account for one of them i guess it will look right


hi, thanks for your reply.

so getMeasuredHeight() return me the whole view height, which means
getMeasuredHeight() = statusbar + title bar + my edit text?

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Re: [android-developers] Re: [Help] how to draw multiple lines in Edittext?

2010-05-07 Thread Vincent Tsao
It remind me of considering some margin space, so i change my code as below:

protected void onDraw(Canvas canvas) {
canvas.drawColor(paperColor);

int count = getLineCount();
int height = this.getMeasuredHeight();
int line_height = this.getLineHeight();
int page_size = height / line_height + 1;

if (count  page_size) {
count = page_size;
}

   * int posY = 5; // i guess the margin-top may be 5 px :)*
for (int i = 1; i  count; i++) {
*posY +=  line_height;*

canvas.drawLine(0, posY, getRight(), posY, linePaint);
canvas.save();

}

  super.onDraw(canvas);
  canvas.restore();
}

finally it looks right, so i'm sure there is a margin space between my
EditText  and the default view , but i have no idea about how to get this
height? so i hard code it 5 px

any suggestion?

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Re: [android-developers] Re: [Help] how to draw multiple lines in Edittext?

2010-05-07 Thread social hub
u can try getTop getPaddingTop
as well Margins

getLayoutParams and from there getting margins leftmargin

you can google to find more info.

With those info you can properly identify what the initial adjustment will
be

it can be like start from paddingtop

hope it helps


On Fri, May 7, 2010 at 9:36 AM, Vincent Tsao caojunvinc...@gmail.comwrote:

 It remind me of considering some margin space, so i change my code as
 below:

 protected void onDraw(Canvas canvas) {
 canvas.drawColor(paperColor);

 int count = getLineCount();
 int height = this.getMeasuredHeight();
 int line_height = this.getLineHeight();
 int page_size = height / line_height + 1;

 if (count  page_size) {
 count = page_size;
 }

* int posY = 5; // i guess the margin-top may be 5 px :)*

 for (int i = 1; i  count; i++) {
 *posY +=  line_height;*


 canvas.drawLine(0, posY, getRight(), posY, linePaint);
 canvas.save();

 }

   super.onDraw(canvas);
   canvas.restore();
 }

 finally it looks right, so i'm sure there is a margin space between my
 EditText  and the default view , but i have no idea about how to get this
 height? so i hard code it 5 px

 any suggestion?

  --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.comandroid-developers%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en


-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Re: [android-developers] Re: [Help] how to draw multiple lines in Edittext?

2010-05-07 Thread Vincent Tsao
 @Soical Hub: thanks for your help, your suggestion inspired me a lot

i finally find this way to get padding: *getCompoundPaddingTop()*, and it
works fine now

what' more, i find another tricky way to meet my requirement:

*Step 1: fill in the EditText with 18 'empty' line rows*

StringBuilder sb = new StringBuilder();
 for (int i = 0; i  18; i++) {
 sb.append(\n);
 }

* this.setText(sb.toString());*


*Step 2: draw those 18 lines

*
*  *  @Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(paperColor);
* int count = getLineCount(); // that's the tricky part, now count
will return 18*
 Rect r = mRect;

 for (int i = 0; i  count; i++) {
 int baseline = getLineBounds(i, r);

 // Draw ruled lines
 canvas.drawLine(r.left, baseline + 1, r.right, baseline + 1,
 linePaint);

 canvas.save();
 }
 super.onDraw(canvas);
 canvas.restore();**
*  *}

but i don't like this tricky way personally :)

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en