android shape大小,Android中shape属性详解
8種機械鍵盤軸體對比
本人程序員,要買一個寫代碼的鍵盤,請問紅軸和茶軸怎么選?
簡單使用
新建shape文件
首先在res/drawable文件夾下,新建一個文件,命名為a_shape_match_tip_bg.xml1
2
3
4
5
6
7
android:shape="rectangle">
添加到控件中
添加到控件中,一般是使用設置background屬性,將其設為背景圖片1
2
3
4
5
6
7
8
9
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_gravity="center_vertical"
android:text="魚丸粗面"
android:textColor="#ffff9060"
android:textSize="12sp"
android:background="@drawable/a_shape_match_tip_bg"/>
基本屬性
shape的基本屬性包括corners、gradient、padding、size、solid、stroke(shape的子標簽)
corners1
2
3
4
5
6
7
//dimension指具體的尺寸dp
android:radius="dimension"//全部的圓角半徑
android:topLeftRadius="dimension"//左上角的圓角半徑
android:topRightRadius="dimension"//右上角的圓角半徑
android:bottomLeftRadius="dimension"//左下角的圓角半徑
android:bottomRightRadius="dimension"/>//右下角的圓角半徑
corners標簽是用來定義圓角的,其中radius與其它四個并不能共同使用
solid
solid用來指定內部填充色,它只有color一個屬性1
gradient
gradient用以定義漸變色,可以定義兩色漸變和三色漸變及漸變樣式1
2
3
4
5
6
7
8
9
10
11
12
//共有3中漸變類型,線性漸變(默認)、放射漸變、掃描式漸變
android:type=["linear" | "radial" | "sweep"]
android:angle="integer"//漸變角度,必須為45的倍數,0為從左到右,90為從上到下
android:centerX="float"//漸變中心X的位置,范圍為0~1
android:centerY="float"//漸變中心Y的位置,范圍為0~1
android:startColor="color"//漸變開始點的顏色
android:centerColor="color" //漸變中間點的顏色,在開始與結束之間
android:endColor="color"//漸變結束點的顏色
android:gradientRadius="float"//漸變的半徑,只有當漸變類型為radial時才能使用
//使用LevelListDrawable時要設置為true,設置為fasle時才有漸變效果
android:useLevel=["true" | "false"]在構造放射性漸變時,需要加上android:gradientRadius屬性(漸變半徑),即必須指定漸變半徑的大小才會起作用
android:angle=“integer"angle屬性只對線性漸變有效
centerX、centerY兩個屬性用于設置漸變的中心點位置,僅當漸變類型為放射漸變時才有效,類型為分數或小數,不接受dimension,超出該范圍后會看不出漸變效果。centerX、centerY的取值其實是寬和高的百分比
useLevel屬性通常不使用。該屬性用于指定是否將該shape當成一個LevelListDrawable來使用,默認值為false
stroke
描邊屬性,可以定義描邊的寬度、顏色、虛實線等1
2
3
4
5
6
android:width="dimension"//描邊的寬度
android:color="color"//描邊的顏色
//以下兩個屬性設置虛線
android:dashWidth="dimension"//虛線的寬度,值為0時時實線
android:dashGap="dimension"/>//虛線的間隔
size和padding
這兩個屬性基本不常使用,因為它們具有的功能,控件本身也可以實現。
size是用來定義圖形的大小1
2
3
android:width="dimension"
android:height="dimension"/>
padding是用來定義內部邊距1
2
3
4
5
android:left="dimension"
android:top="dimension"
android:right="dimension"
android:bottom="dimension"/>
shape的屬性
shape可以通過shape屬性定義當前shape的形狀,比如矩形、橢圓形、線形等1
2
3
4
5
6
7
8
9
10
xmlns:android="http://schemas.android.com/apk/res/android"
//shape的形狀,默認為矩形,可以設置為矩形、橢圓、線形形狀、環形
android:shape=["rectange" | "oval" | "line" | "ring"]
//以下屬性只有當形狀為環形(ring)時可用
android:innerRadius//尺寸,內環的半徑
android:innerRadiusRatio//浮點型,以環的寬度比率來表示內環的半徑
android:thickness//尺寸,環的厚度
android:thicknessRatio//浮點型,以環的寬度比率來表示環的厚度
android:useLevel//boolean值,如果是LevelListDrawable使用時值為true,否則為false
無論shape設置為什么形狀,它的子標簽都是可用的,但是不一定會有效果。比如shape為橢圓時,corners標簽就不會有效果
總結
以上是生活随笔為你收集整理的android shape大小,Android中shape属性详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓修改linux开机画面,Androi
- 下一篇: Beyond Compare 4 “授权