<LinearLayout
android:layout_width="fill_parent"
android:layout_height="120dp"
android:orientation="horizontal" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_launcher"
android:text="按钮1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="30dp"
android:drawableTop="@drawable/ic_launcher"
android:text="按钮2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_launcher"
android:drawableTop="@drawable/ic_launcher"
android:text="按钮3" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/ic_launcher"
android:text="按钮4" />
</LinearLayout>
<Button
android:id="@+id/button"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginTop="10dp" />
Button button = (Button)findViewById(R.id.button);
//设置按钮文字左边的图片
SpannableString spannableStringLeft = new SpannableString("Left");
Bitmap bitmapLeft = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); //android图片都由Bitmap来展示的 ,用BitmapFactory创建
ImageSpan imageSpanLeft = new ImageSpan(this,bitmapLeft, DynamicDrawableSpan.ALIGN_BOTTOM);
spannableStringLeft.setSpan(imageSpanLeft, 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //这里可以用imageSpan来代替某一段或一个字符
SpannableString spannableStringRight = new SpannableString("right");
Bitmap bitmapRight = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
ImageSpan imageSpanRight = new ImageSpan(this,bitmapRight, DynamicDrawableSpan.ALIGN_BOTTOM);
spannableStringRight.setSpan(imageSpanRight, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
button.append(spannableStringLeft);
button.append("我的按钮");
button.append(spannableStringRight);