Я работаю над фреймворками для Android. Мне нужно изменить форму текста, чтобы он имел закругленные углы. Не могли бы вы помочь мне в этом вопросе?
Файл XML, сохраненный в res/drawable/gradient_box.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#FFFF0000"
android:endColor="#80FF00FF"
android:angle="45"/>
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
<corners android:radius="8dp" />
</shape>
Этот макет XML применяет форму, пригодную для просмотра:
<TextView
android:background="@drawable/gradient_box"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
Этот код приложения получает форму с возможностью рисования и применяет ее к виду: Ресурсы res = getResources(); Drawable shape = res. getDrawable (R.drawable.gradient_box);
TextView tv = (TextView)findViewByID(R.id.textview);
tv.setBackground(shape);
Скопировать и вставить из http://developer.android.com/guide/topics/resources/drawable-resource.html, первый результат, когда вы google "android textView закругленные углы"
[EDIT]
Как вы хотите изменить источник инфраструктуры Android, вы можете изменить стиль TextView, изменив Drawables по умолчанию. В источниках различные Drawables сгруппированы во внутренний класс, называемый Drawables:
class Drawables {
final Rect mCompoundRect = new Rect();
Drawable mDrawableTop, mDrawableBottom, mDrawableLeft, mDrawableRight;
int mDrawableSizeTop, mDrawableSizeBottom, mDrawableSizeLeft, mDrawableSizeRight;
int mDrawableWidthTop, mDrawableWidthBottom, mDrawableHeightLeft, mDrawableHeightRight;
int mDrawablePadding;
}
Просто измените эти Drawables, как вам нравится, и вы изменили TextView.
Я имею в виду эту версию TextView sources.