在我們學習android這麼久,而且使用TextView那麼長時間,我們一直沒有用過給TextView添加背景,或者是給TextView添加添加邊框,以及怎麼樣設置TextView的形狀。今天在寫代碼的時候就用到了,怎麼在java代碼部分設置TextView的背景,和TextView的形狀及邊框。

接下來我們來看一下,怎麼在Java代碼部分怎麼設置TextView的背景顏色,其實很簡單的就一句話。

tvTemp.setBackgroundColor(Color.parseColor("#00FF00"));

我們在xml布局文件中就可以直接調用drawable文件代碼如下:

android:background="@drawable/textview"

在我們設置背景的時候, 我們都知道使用 setBackgroundColor()方法,但是,方法裏面的參數,必須是RGB HTML格式的值,如果我們用drawable,它會提示drawable是int類型的。(其實如果可以的話我們不妨使用ImageView組件,這個組件相對TextView更好用)。

我們接下來就來看看怎麼給讓TextView显示邊框,並且怎麼樣讓其显示圓形。這裏我們就需要在drawable裏面,新建一個.xml文件。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:useLevel="false">
    <solid android:color="#00FF00" />
    <stroke android:width="1dip" android:color="#000000" />
    <size
        android:width="15dp"
        android:height="15dp" />
</shape>

這隻是一個圓形,其中, stroke屬性,是設置的他的邊框顏色和寬度,在xml布局中显示的是如圖所示的樣式:


xml樣式

最後我們就可以在xml文件中利用drawable調用。
其中我們在xml中不僅可以設置圓形,而且還可以設置圓角,

<corners android:radius="15dp" />屬性就是設置圓角

我們在介紹一些關於shape裏面的知識:
gradient — 顏色漸變
startcolor 起點顏色
endcolor 終點顏色
android:angle 角度 0是從左到右,90是從下到上
solid — 填充
stroke — 描邊
corners — 圓角
padding — 內容離邊界的距離

當我們需要在java代碼中需要設置TextView時,發現通過上面的方法設置,圓角就會消失,在這裏怎麼讓圓角不會消失,我們需要:

GradientDrawable myGrad = (GradientDrawable)tv_test.getBackground();
myGrad.setColor(Color.BLUE);