sej*_*ejn 5 java android textview android-drawable
我有一个文本视图,带有在 TextView 中呈现的图标。它有一个图像。我已经设置在文本的左侧。但我需要将图标设置为圆形。
我如何在java中设计它?
我的代码设置在左侧。
textview.setCompoundDrawablesWithIntrinsicBounds(
                    image, 0, 0, 0);
如何为上述 textview drawableleft 图像设计圆形图像。
 <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_vertical"
        android:ellipsize="end"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="-10dp"
        android:gravity="center"
        android:layout_marginLeft="15dp"
        android:minHeight="24dp"
        android:paddingLeft="@dimen/spacing_d2"
        android:paddingRight="@dimen/spacing_d2"
        android:tag="@string/tag_font_h_regular"
        android:fontFamily="@font/cachetbook"
        android:textColor="@color/white_new"
        android:textSize="12dp"
        tools:text="Universal Orlando Resort"/>
您需要将图像加载为位图。如果您从可绘制对象中获取,您可以看到如何将可绘制对象转换为位图?。
您可以根据需要调整位图大小以适合您的文本视图。请参阅如何在 Android 中调整位图大小?。
根据这篇文章,您可以找到使角变圆的代码
// Load your drawable
Drawable drawable = ContextCompat.getDrawable(this,R.drawable.ic_launcher_background);
// Convert it to a bitmap
Bitmap bitmap = Bitmap.createScaledBitmap(drawableToBitmap((drawable)),50,50,false);
// Make the corner rounded
RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(getResources(), bitmap);
final float roundPx = (float) bitmap.getWidth() * 90f;
roundedBitmapDrawable.setCornerRadius(roundPx);
// Apply it to the TextView
((TextView) findViewById(R.id.test)).setCompoundDrawablesWithIntrinsicBounds(
                roundedBitmapDrawable, null, null, null);
我不知道你为什么决定选择以编程方式执行此操作,但我不会推荐它,它更难控制视图和事物的位置。
| 归档时间: | 
 | 
| 查看次数: | 96 次 | 
| 最近记录: |