gpt4 book ai didi

android - 在 Android 框架中更改 textview 的形状

转载 作者:行者123 更新时间:2023-11-29 14:56:27 25 4
gpt4 key购买 nike

我正在研究 android 框架。我需要修改 textview 的形状,使其具有圆角。你能帮我解决这个问题吗?

最佳答案

保存在 res/drawable/gradient_box.xml 的 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 将形状可绘制对象应用于 View :

<TextView
android:background="@drawable/gradient_box"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />

此应用程序代码获取形状可绘制并将其应用于 View :资源 res = getResources();可绘制形状 = 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 复制粘贴,当你用谷歌搜索“android textView rounded corners”时的第一个结果

[编辑]

如果您想更改 android 框架的源代码,您可以通过更改默认的 Drawables 来更改 TextView 的样式。在源代码中,各种 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;
}

只需根据需要更改这些 Drawable,您就重新定义了 TextView。

我指的是 TextView sources 的那个版本.

关于android - 在 Android 框架中更改 textview 的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5633542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com