1.TextView中可写在Style中的一些常用属性
<item name="android:editable">false</item> //设置是否可编辑
<item name="android:inputType">numberDecimal/text/textPassword/textMultiLine</item> //设置输入字符类型数字、文本、密码、多行显示
<item name="android:digits">abcdefghijklmnopqrstuvwxyz_</item> //设置允许输入指定字符
<item name="android:cursorVisible">false</item> //设定光标为显示/隐藏,默认显示
<item name="android:textCursorDrawable">@color/green</item> //设置光标的颜色为绿色
<item name="android:lines">3</item> //设置文本的行数3行
<item name="android:maxLength">10</item> //限制显示的文本长度
<item name="android:singleLine">true</item> //设置单行显示
<item name="android:textColor">@color/bg_gray</item> //设置文本颜色
<item name="android:textSize">12sp</item> //设置输入字符大小
<item name="android:textStyle">italic|bold</item> //设置字形,可以设置一个或多个,用“|”隔开
<item name="android:paddingLeft">5dp</item> //文字离文字框左边的距离
<item name="android:drawableLeft">@drawable/show1</item> //图片在文字左边
<item name="android:drawableTop">numberDecimal/text/</item> //图片在文字上边
2.一些自定义style
(1)app无标题
可在AndroidManifest中定义:
<application
android:allowBackup="true"
android:icon="@drawable/mentalhealth"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/NoTitle"
>
</application>
其中:style中的具体内容在style.xml文件中:
<style name="NoTitle" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
(2)一些TestView样式
<style name="TestViewStyle" note="TestView通用样式">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">15sp</item>
<item name="android:orientation">horizontal</item>
<item name="android:baselineAligned">true</item>
<item name="android:background">@drawable/textview_bg</item>
</style>
其中:table_bg中的具体内容可以写在res->drawble.xml文件中:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/green" />
<corners
android:radius="0dp" />
<solid android:color="#FFFFFF"/>
</shape>
形状如下:
(3)一些EditText样式
<!-- EditText的文字样式 -->
<style name="EditTextStyle" note="EditText通用编辑框样式">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">15sp</item>
<item name="android:textColor">@color/black</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingLeft">5dp</item>
<item name="android:longClickable">false</item>
<item name="android:maxLength">15</item>
<item name="android:digits">.0123456789</item>
</style>
(4)继承上面EditTextStyle样式的不可编辑的EditTest:parent
<style name="EditEnableStyle" parent="EditTextStyle" note="不可编辑框长度为130dp的EditText">
<item name="android:layout_width">130dp</item>
<item name="android:editable">false</item>
</style>
3.一些自定义drawable
如下定义了一个任意控件的background属性,background中可以是UI提供的png图片,也可以是自定义的demo_bg(xml文件)。
<item name="android:background">@drawable/demo_bg</item>
(1)长方形上方带圆角的图片
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#398977"/>
<corners android:topLeftRadius="8dp"
android:topRightRadius="8dp" />
</shape>
形状如下:
(2)长方形带圆角的图片
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/TlCyan"/>
<corners
android:radius="15dp" />
</shape>
</item>
</layer-list>
形状如下:
(3)有点击效果的图片
点击状态的效果是click图片;不能点击的效果是unselect图片,控件正常情况下的状态是normal图片
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/click"></item>
<item android:state_enabled="false" android:drawable="@drawable/unselect"></item>
<item android:drawable="@drawable/normal"></item>
</selector>
(4)有选择效果的图片
点击时为check图片,未点击时为uncheck图片
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@drawable/uncheck"/>
<item android:state_checked="true" android:drawable="@drawable/uncheck"/>
</selector>
(5)有红色光标效果的图片
长方形,光标宽为2dp
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:width="2dp"/>
<solid android:color="@color/Red"/>
</shape>
(6)有线条效果的图片
下和右有红色线条,背景为白色的图片
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="@color/Red" />
</shape>
</item>
<item
android:right="3dp"
android:bottom="3dp">
<shape>
<solid
android:color="@color/white">
</solid>
</shape>
</item>
</layer-list>
形状如下:
(7)一些图片
关于pathData的使用,可参考Android vector 标签 pathData 详解这篇文章。利用pathData可绘制出许多图案。
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:alpha="0.9"
android:tint="#45BF3C"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#7ca344"
android:pathData="M9,16,L4,12,l,-1,2,L9,19,21,7,l,-1,-2,L,9,16" />
</vector>
形状如下: