[android-developers] Re: Click event on Edit-Text's Right Drawable.

2011-04-22 Thread Zsolt Vasvari
I messed around this for a long time in my app and finally I decided
that the simplest way was to have a compound control that comprised of
an EditText and a ImageView.  It works great.



On Apr 23, 9:33 am, Sunil Lakhiyani 
wrote:
> Hello Developers,
>
> I have one Edit Text with right drawable.
> The xml code is
>
>  android:layout_width="wrap_content" android:layout_height="wrap_content"
> android:text="@string/addname" android:layout_alignParentLeft="true"
> android:textStyle="bold" android:textColor="@color/black"
> android:typeface="normal" android:padding="10dp"
> android:layout_below="@+id/lineview1" />
>
>  android:id="@+id/nameofpersonr" android:layout_height="wrap_content"
> android:hint="@string/hint"
> android:layout_toRightOf="@+id/name" android:textColor="@color/black"
> android:typeface="normal"
> android:layout_below="@+id/lineview1"
> android:drawableRight="@drawable/icon"
>                                 android:layout_width="180dp">
> 
>  android:layout_alignParentRight="true" android:layout_width="wrap_content"
> android:layout_height="wrap_content" android:scaleType="fitXY"
> android:layout_below="@+id/lineview1"
> android:src="@drawable/deleteicon" android:padding="5dp"/>
>
> and CustomEditTextActivity.java
>
> public class CustomEditTextActivity extends EditText {
> private Drawable rightSideDrawable;
> private Rect rectangleBounds;
>
> public CustomEditTextActivity(Context context, AttributeSet attributeSet,
> int defStyle) {
>
> super(context, attributeSet, defStyle);
>
> }
>
> public CustomEditTextActivity(Context context, AttributeSet attributeSet) {
> super(context, attributeSet);
>
> }
>
> public CustomEditTextActivity(Context context) {
> super(context);
>
> }
>
> @Override
> public void setCompoundDrawables(Drawable left, Drawable top,
> Drawable right, Drawable bottom) {
> if (right != null) {
> rightSideDrawable = right;
>  }
> super.setCompoundDrawables(left, top, right, bottom);
>
> }
>
> @Override
> protected void finalize() throws Throwable {
> rightSideDrawable = null;
> rectangleBounds = null;
> super.finalize();
>
> }
>
> public Rect getRectBound() {
> return rectangleBounds;
>
> }
>
> public Drawable getRightDrawable() {
> return rightSideDrawable;}
>
>           // on touch event code i got from some site..
> @Override
>     public boolean onTouchEvent(MotionEvent event)
>     {
>
>         if(event.getAction() == MotionEvent.ACTION_UP &&
> rightSideDrawable!=null)
>         {
>          rectangleBounds = rightSideDrawable.getBounds();
>             final int x = (int)event.getX();
>             final int y = (int)event.getY();
>
>             if(x>=(this.getRight()-rectangleBounds.width()) &&
> x<=(this.getRight()-this.getPaddingRight())
>                     && y>=this.getPaddingTop() &&
> y<=(this.getHeight()-this.getPaddingBottom()))
>             {
>                 this.setText("");
>                 event.setAction(MotionEvent.ACTION_CANCEL);//use this to
> prevent the keyboard from coming up
>             }
>         }
>         return super.onTouchEvent(event);
>     }
>
> }
>
> Now problem is,
>
> when i open the activity, it shows me keyboard and i can right in edit text,
> but as soon as i touch to edit text it launches another activity, i called
> it "InfoActivity.java". But InfoActivity.java is supposed to be launched if
> I click on drawable not on edit text.
> Can you please help me to get click event or touch event on right hand side
> drawable, instead of edit text? or is there any other alternative way?
> Also, because of this i can not use this line for keyboard..
>
> this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STA­TE_ALWAYS_HIDDEN);
>
> Can anyone help me in that? I have made lots of changes in ontouch event
> written above but fail.
>
> So please help me in that. I really appreciate it. Thank you in advance.

-- 
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


[android-developers] Re: Click event on Edit-Text's Right Drawable.

2011-04-24 Thread Zsolt Vasvari
Have 2 Views in your layout next to each other and set their
backgrounds so it looks like you have a single control.

On Apr 24, 7:07 am, Sunil Lakhiyani 
wrote:
> hey Zsolt Vasvari
> can you please explain in detail? and any code or example would be great
> help for me.
>
> Thanks
>
>
>
> On Fri, Apr 22, 2011 at 8:52 PM, Zsolt Vasvari  wrote:
> > I messed around this for a long time in my app and finally I decided
> > that the simplest way was to have a compound control that comprised of
> > an EditText and a ImageView.  It works great.
>
> > On Apr 23, 9:33 am, Sunil Lakhiyani 
> > wrote:
> > > Hello Developers,
>
> > > I have one Edit Text with right drawable.
> > > The xml code is
>
> > >  > > android:layout_width="wrap_content" android:layout_height="wrap_content"
> > > android:text="@string/addname" android:layout_alignParentLeft="true"
> > > android:textStyle="bold" android:textColor="@color/black"
> > > android:typeface="normal" android:padding="10dp"
> > > android:layout_below="@+id/lineview1" />
>
> > >  > > android:id="@+id/nameofpersonr" android:layout_height="wrap_content"
> > > android:hint="@string/hint"
> > > android:layout_toRightOf="@+id/name" android:textColor="@color/black"
> > > android:typeface="normal"
> > > android:layout_below="@+id/lineview1"
> > > android:drawableRight="@drawable/icon"
> > >                                 android:layout_width="180dp">
> > > 
> > >  > > android:layout_alignParentRight="true"
> > android:layout_width="wrap_content"
> > > android:layout_height="wrap_content" android:scaleType="fitXY"
> > > android:layout_below="@+id/lineview1"
> > > android:src="@drawable/deleteicon" android:padding="5dp"/>
>
> > > and CustomEditTextActivity.java
>
> > > public class CustomEditTextActivity extends EditText {
> > > private Drawable rightSideDrawable;
> > > private Rect rectangleBounds;
>
> > > public CustomEditTextActivity(Context context, AttributeSet attributeSet,
> > > int defStyle) {
>
> > > super(context, attributeSet, defStyle);
>
> > > }
>
> > > public CustomEditTextActivity(Context context, AttributeSet attributeSet)
> > {
> > > super(context, attributeSet);
>
> > > }
>
> > > public CustomEditTextActivity(Context context) {
> > > super(context);
>
> > > }
>
> > > @Override
> > > public void setCompoundDrawables(Drawable left, Drawable top,
> > > Drawable right, Drawable bottom) {
> > > if (right != null) {
> > > rightSideDrawable = right;
> > >  }
> > > super.setCompoundDrawables(left, top, right, bottom);
>
> > > }
>
> > > @Override
> > > protected void finalize() throws Throwable {
> > > rightSideDrawable = null;
> > > rectangleBounds = null;
> > > super.finalize();
>
> > > }
>
> > > public Rect getRectBound() {
> > > return rectangleBounds;
>
> > > }
>
> > > public Drawable getRightDrawable() {
> > > return rightSideDrawable;}
>
> > >           // on touch event code i got from some site..
> > > @Override
> > >     public boolean onTouchEvent(MotionEvent event)
> > >     {
>
> > >         if(event.getAction() == MotionEvent.ACTION_UP &&
> > > rightSideDrawable!=null)
> > >         {
> > >          rectangleBounds = rightSideDrawable.getBounds();
> > >             final int x = (int)event.getX();
> > >             final int y = (int)event.getY();
>
> > >             if(x>=(this.getRight()-rectangleBounds.width()) &&
> > > x<=(this.getRight()-this.getPaddingRight())
> > >                     && y>=this.getPaddingTop() &&
> > > y<=(this.getHeight()-this.getPaddingBottom()))
> > >             {
> > >                 this.setText("");
> > >                 event.setAction(MotionEvent.ACTION_CANCEL);//use this to
> > > prevent the keyboard from coming up
> > >             }
> > >         }
> > >         return super.onTouchEvent(event);
> > >     }
>
> > > }
>
> > > Now problem is,
>
> > > when i open the activity, it shows me keyboard and i can right in edit
> > text,
> > > but as soon as i touch to edit text it launches another activity, i
> > called
> > > it "InfoActivity.java". But InfoActivity.java is supposed to be launched
> > if
> > > I click on drawable not on edit text.
> > > Can you please help me to get click event or touch event on right hand
> > side
> > > drawable, instead of edit text? or is there any other alternative way?
> > > Also, because of this i can not use this line for keyboard..
>
> > this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STA­­TE_ALWAYS_HIDDEN);
>
> > > Can anyone help me in that? I have made lots of changes in ontouch event
> > > written above but fail.
>
> > > So please help me in that. I really appreciate it. Thank you in advance.
>
> > --
> > 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/

Re: [android-developers] Re: Click event on Edit-Text's Right Drawable.

2011-04-23 Thread Sunil Lakhiyani
hey Zsolt Vasvari
can you please explain in detail? and any code or example would be great
help for me.

Thanks

On Fri, Apr 22, 2011 at 8:52 PM, Zsolt Vasvari  wrote:

> I messed around this for a long time in my app and finally I decided
> that the simplest way was to have a compound control that comprised of
> an EditText and a ImageView.  It works great.
>
>
>
> On Apr 23, 9:33 am, Sunil Lakhiyani 
> wrote:
> > Hello Developers,
> >
> > I have one Edit Text with right drawable.
> > The xml code is
> >
> >  > android:layout_width="wrap_content" android:layout_height="wrap_content"
> > android:text="@string/addname" android:layout_alignParentLeft="true"
> > android:textStyle="bold" android:textColor="@color/black"
> > android:typeface="normal" android:padding="10dp"
> > android:layout_below="@+id/lineview1" />
> >
> >  > android:id="@+id/nameofpersonr" android:layout_height="wrap_content"
> > android:hint="@string/hint"
> > android:layout_toRightOf="@+id/name" android:textColor="@color/black"
> > android:typeface="normal"
> > android:layout_below="@+id/lineview1"
> > android:drawableRight="@drawable/icon"
> > android:layout_width="180dp">
> >  >
> >  > android:layout_alignParentRight="true"
> android:layout_width="wrap_content"
> > android:layout_height="wrap_content" android:scaleType="fitXY"
> > android:layout_below="@+id/lineview1"
> > android:src="@drawable/deleteicon" android:padding="5dp"/>
> >
> > and CustomEditTextActivity.java
> >
> > public class CustomEditTextActivity extends EditText {
> > private Drawable rightSideDrawable;
> > private Rect rectangleBounds;
> >
> > public CustomEditTextActivity(Context context, AttributeSet attributeSet,
> > int defStyle) {
> >
> > super(context, attributeSet, defStyle);
> >
> > }
> >
> > public CustomEditTextActivity(Context context, AttributeSet attributeSet)
> {
> > super(context, attributeSet);
> >
> > }
> >
> > public CustomEditTextActivity(Context context) {
> > super(context);
> >
> > }
> >
> > @Override
> > public void setCompoundDrawables(Drawable left, Drawable top,
> > Drawable right, Drawable bottom) {
> > if (right != null) {
> > rightSideDrawable = right;
> >  }
> > super.setCompoundDrawables(left, top, right, bottom);
> >
> > }
> >
> > @Override
> > protected void finalize() throws Throwable {
> > rightSideDrawable = null;
> > rectangleBounds = null;
> > super.finalize();
> >
> > }
> >
> > public Rect getRectBound() {
> > return rectangleBounds;
> >
> > }
> >
> > public Drawable getRightDrawable() {
> > return rightSideDrawable;}
> >
> >   // on touch event code i got from some site..
> > @Override
> > public boolean onTouchEvent(MotionEvent event)
> > {
> >
> > if(event.getAction() == MotionEvent.ACTION_UP &&
> > rightSideDrawable!=null)
> > {
> >  rectangleBounds = rightSideDrawable.getBounds();
> > final int x = (int)event.getX();
> > final int y = (int)event.getY();
> >
> > if(x>=(this.getRight()-rectangleBounds.width()) &&
> > x<=(this.getRight()-this.getPaddingRight())
> > && y>=this.getPaddingTop() &&
> > y<=(this.getHeight()-this.getPaddingBottom()))
> > {
> > this.setText("");
> > event.setAction(MotionEvent.ACTION_CANCEL);//use this to
> > prevent the keyboard from coming up
> > }
> > }
> > return super.onTouchEvent(event);
> > }
> >
> > }
> >
> > Now problem is,
> >
> > when i open the activity, it shows me keyboard and i can right in edit
> text,
> > but as soon as i touch to edit text it launches another activity, i
> called
> > it "InfoActivity.java". But InfoActivity.java is supposed to be launched
> if
> > I click on drawable not on edit text.
> > Can you please help me to get click event or touch event on right hand
> side
> > drawable, instead of edit text? or is there any other alternative way?
> > Also, because of this i can not use this line for keyboard..
> >
> >
> this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STA­TE_ALWAYS_HIDDEN);
> >
> > Can anyone help me in that? I have made lots of changes in ontouch event
> > written above but fail.
> >
> > So please help me in that. I really appreciate it. Thank you in advance.
>
> --
> 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

-- 
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 gro

Re: [android-developers] Re: Click event on Edit-Text's Right Drawable.

2011-04-28 Thread Sunil Lakhiyani
Thank you Zsolt,
Finally I have made it.

On Sun, Apr 24, 2011 at 5:53 AM, Zsolt Vasvari  wrote:

> Have 2 Views in your layout next to each other and set their
> backgrounds so it looks like you have a single control.
>
> On Apr 24, 7:07 am, Sunil Lakhiyani 
> wrote:
> > hey Zsolt Vasvari
> > can you please explain in detail? and any code or example would be great
> > help for me.
> >
> > Thanks
> >
> >
> >
> > On Fri, Apr 22, 2011 at 8:52 PM, Zsolt Vasvari 
> wrote:
> > > I messed around this for a long time in my app and finally I decided
> > > that the simplest way was to have a compound control that comprised of
> > > an EditText and a ImageView.  It works great.
> >
> > > On Apr 23, 9:33 am, Sunil Lakhiyani 
> > > wrote:
> > > > Hello Developers,
> >
> > > > I have one Edit Text with right drawable.
> > > > The xml code is
> >
> > > >  > > > android:layout_width="wrap_content"
> android:layout_height="wrap_content"
> > > > android:text="@string/addname" android:layout_alignParentLeft="true"
> > > > android:textStyle="bold" android:textColor="@color/black"
> > > > android:typeface="normal" android:padding="10dp"
> > > > android:layout_below="@+id/lineview1" />
> >
> > > >  > > > android:id="@+id/nameofpersonr" android:layout_height="wrap_content"
> > > > android:hint="@string/hint"
> > > > android:layout_toRightOf="@+id/name" android:textColor="@color/black"
> > > > android:typeface="normal"
> > > > android:layout_below="@+id/lineview1"
> > > > android:drawableRight="@drawable/icon"
> > > > android:layout_width="180dp">
> > > >  >
> > > >  > > > android:layout_alignParentRight="true"
> > > android:layout_width="wrap_content"
> > > > android:layout_height="wrap_content" android:scaleType="fitXY"
> > > > android:layout_below="@+id/lineview1"
> > > > android:src="@drawable/deleteicon" android:padding="5dp"/>
> >
> > > > and CustomEditTextActivity.java
> >
> > > > public class CustomEditTextActivity extends EditText {
> > > > private Drawable rightSideDrawable;
> > > > private Rect rectangleBounds;
> >
> > > > public CustomEditTextActivity(Context context, AttributeSet
> attributeSet,
> > > > int defStyle) {
> >
> > > > super(context, attributeSet, defStyle);
> >
> > > > }
> >
> > > > public CustomEditTextActivity(Context context, AttributeSet
> attributeSet)
> > > {
> > > > super(context, attributeSet);
> >
> > > > }
> >
> > > > public CustomEditTextActivity(Context context) {
> > > > super(context);
> >
> > > > }
> >
> > > > @Override
> > > > public void setCompoundDrawables(Drawable left, Drawable top,
> > > > Drawable right, Drawable bottom) {
> > > > if (right != null) {
> > > > rightSideDrawable = right;
> > > >  }
> > > > super.setCompoundDrawables(left, top, right, bottom);
> >
> > > > }
> >
> > > > @Override
> > > > protected void finalize() throws Throwable {
> > > > rightSideDrawable = null;
> > > > rectangleBounds = null;
> > > > super.finalize();
> >
> > > > }
> >
> > > > public Rect getRectBound() {
> > > > return rectangleBounds;
> >
> > > > }
> >
> > > > public Drawable getRightDrawable() {
> > > > return rightSideDrawable;}
> >
> > > >   // on touch event code i got from some site..
> > > > @Override
> > > > public boolean onTouchEvent(MotionEvent event)
> > > > {
> >
> > > > if(event.getAction() == MotionEvent.ACTION_UP &&
> > > > rightSideDrawable!=null)
> > > > {
> > > >  rectangleBounds = rightSideDrawable.getBounds();
> > > > final int x = (int)event.getX();
> > > > final int y = (int)event.getY();
> >
> > > > if(x>=(this.getRight()-rectangleBounds.width()) &&
> > > > x<=(this.getRight()-this.getPaddingRight())
> > > > && y>=this.getPaddingTop() &&
> > > > y<=(this.getHeight()-this.getPaddingBottom()))
> > > > {
> > > > this.setText("");
> > > > event.setAction(MotionEvent.ACTION_CANCEL);//use this
> to
> > > > prevent the keyboard from coming up
> > > > }
> > > > }
> > > > return super.onTouchEvent(event);
> > > > }
> >
> > > > }
> >
> > > > Now problem is,
> >
> > > > when i open the activity, it shows me keyboard and i can right in
> edit
> > > text,
> > > > but as soon as i touch to edit text it launches another activity, i
> > > called
> > > > it "InfoActivity.java". But InfoActivity.java is supposed to be
> launched
> > > if
> > > > I click on drawable not on edit text.
> > > > Can you please help me to get click event or touch event on right
> hand
> > > side
> > > > drawable, instead of edit text? or is there any other alternative
> way?
> > > > Also, because of this i can not use this line for keyboard..
> >
> > >
> this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STA­­TE_ALWAYS_HIDDEN);
> >
> > > > Can anyone help me in that? I have made lots of changes in ontouch
> event
> > > > written above but fail.
> >
> > > > So please help me in that. I really