This is not a bug, a PaintDrawable ignores its bounds. You want a ColorDrawable instead.
On Mon, Mar 8, 2010 at 7:23 PM, Brion Emde <brione2...@gmail.com> wrote: > I posted earlier with a less clear title. Unless someone can show me > differently, I think I've found another bug in TextView. > > res/values/colors.xml: > > <?xml version="1.0" encoding="utf-8"?> > <resources> > <drawable name="red_drawable">#FF0000</drawable> > </resources> > > res/layout/main.xml: > > <?xml version="1.0" encoding="utf-8"?> > <TextView xmlns:android="http://schemas.android.com/apk/res/android" > android:id="@+id/textview" > android:layout_width="fill_parent" > android:layout_height="wrap_content" > android:text="There should be a red strip at the bottom of this > view, not a red background" > /> > > src/eyebrowssoftware/showcompounddrawablesproblem/ShowIt.java: > > package com.eyebrowssoftware.showcompounddrawablesproblem; > > import android.app.Activity; > import android.graphics.drawable.Drawable; > import android.os.Bundle; > import android.widget.TextView; > > public class ShowIt extends Activity { > > �...@override > public void onCreate(Bundle savedInstanceState) { > super.onCreate(savedInstanceState); > setContentView(R.layout.main); > > Drawable paintDrawable = > getResources().getDrawable(R.drawable.red_drawable); > > TextView tv = (TextView) findViewById(R.id.textview); > > // setBounds must be called before setCompoundDrawable(), but > it does not matter. > // this should be a 5 pixel high rectangle the width of the > text. > paintDrawable.setBounds(0, 0, tv.getWidth(), 5); > > // no matter what you set the bounds to, it becomes the > background of the textview, not underline, > // which is also there > // this should put the 5 pixel high rectangle below the text, > which it does, but it also sets the background > tv.setCompoundDrawables(null, null, null, paintDrawable); > > // this padding seems irrelevant > tv.setCompoundDrawablePadding(2); > } > } > > And here is how it appears, which I think is highly wrong: > > http://www.vonemdeheim.com/picture_library/CompoundDrawablesBug.jpg > > Please point out where I made a mistake. Thanks for your attention. > > > -- > 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 > -- Romain Guy Android framework engineer romain...@android.com Note: please don't send private questions to me, as I don't have time to provide private support. All such questions should be posted on public forums, where I and others can see and answer them -- 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