1、TabLayout
//改变选中字体的颜色
app:tabSelectedTextColor="@android:color/holo_orange_light"
//未选中字体的颜色
app:tabTextColor="@color/colorPrimary"
//指示器下标的颜色
app:tabIndicatorColor="@android:color/holo_orange_light"
//指示器下标高度
app:tabIndicatorHeight="4dp"
//tablayou整体背景
app:tabBackground="color"
//设置tabitem字体大小
app:tabTextAppearance="@android:style/TextAppearance.Holo.Large"//设置文字的外貌
//如果你设置了小写字母,Run一下,会产生小写字母自动转换大写,也是用这个属性进行设置,不过代码不一样,帖代码 设置android:textAllCaps属性为false如果强制大写就不用管,自己默认就是个true
app:tabTextAppearance="@style/MyTabLayoutTextAppearance"
<style name="MyTabLayoutTextAppearance" parent="TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse">
<item name="android:textAllCaps">false</item>
</style>
2、所有带滑动的控件包含但不限于ScrollView ListView GridView你想有一个上边距和一个下边距,但是你不设置某几个特殊属性上下的间距是不跟着内容滑动的,这种用户体验会很不好。如图:距上10个dp高度,你希望GridView滑动这10dp跟随着一起滑动。
那么设置这么三个属性联合使用
<GridView
android:id="@+id/gv_share"
android:background="#dd2727"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:paddingTop="10dp"
android:numColumns="4" />
//一下三条是关键
/*android:clipChildren="false"
android:clipToPadding="false"
android:paddingTop="10dp"*/
3、TextView也有黑科技如下图:
感觉好像有个立体感觉,这其实是TextView自带的效果(加个投影效果)
<TextView
android:text="温馨提示:平台推荐产品仅供参考"
android:textSize="14sp"
android:textColor="#FFF"
//就是这三个属性 分别是投影的颜色 偏移量 角度,可以去尝试修改下这三个属性看看效果,找到自己满意的一个效果
android:shadowColor="#000"
android:shadowDy="3"
android:shadowRadius="1.5"
android:gravity="center"
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="35dp" />
4、自定义控件BGABanner
<declare-styleable name="BGABanner">
<!-- 指示点容器背景 -->
<attr name="banner_pointContainerBackground" format="reference|color" />
<!-- 指示点背景 -->
<attr name="banner_pointDrawable" format="reference" />
<!-- 指示点容器左右内间距 -->
<attr name="banner_pointContainerLeftRightPadding" format="dimension" />
<!-- 指示点上下外间距 -->
<attr name="banner_pointTopBottomMargin" format="dimension" />
<!-- 指示点左右外间距 -->
<attr name="banner_pointLeftRightMargin" format="dimension" />
<!-- 指示器的位置 -->
<attr name="banner_indicatorGravity">
<flag name="top" value="0x30" />
<flag name="bottom" value="0x50" />
<flag name="left" value="0x03" />
<flag name="right" value="0x05" />
<flag name="center_horizontal" value="0x01" />
</attr>
<!-- 是否开启自动轮播 -->
<attr name="banner_pointAutoPlayAble" format="boolean" />
<!-- 自动轮播的时间间隔 -->
<attr name="banner_pointAutoPlayInterval" format="integer" />
<!-- 页码切换过程的时间长度 -->
<attr name="banner_pageChangeDuration" format="integer" />
<!-- 页面切换的动画效果 -->
<attr name="banner_transitionEffect" format="enum">
<enum name="defaultEffect" value="0" />
<enum name="alpha" value="1" />
<enum name="rotate" value="2" />
<enum name="cube" value="3" />
<enum name="flip" value="4" />
<enum name="accordion" value="5" />
<enum name="zoomFade" value="6" />
<enum name="fade" value="7" />
<enum name="zoomCenter" value="8" />
<enum name="zoomStack" value="9" />
<enum name="stack" value="10" />
<enum name="depth" value="11" />
<enum name="zoom" value="12" />
</attr>
<!-- 提示文案的文字颜色 -->
<attr name="banner_tipTextColor" format="reference|color" />
<!-- 提示文案的文字大小 -->
<attr name="banner_tipTextSize" format="dimension" />
<!-- 加载网络数据时覆盖在 BGABanner 最上层的占位图 -->
<attr name="banner_placeholderDrawable" format="reference" />
<!-- 是否是数字指示器 -->
<attr name="banner_isNumberIndicator" format="boolean" />
<!-- 数字指示器文字颜色 -->
<attr name="banner_numberIndicatorTextColor" format="reference|color" />
<!-- 数字指示器文字大小 -->
<attr name="banner_numberIndicatorTextSize" format="dimension" />
<!-- 数字指示器背景 -->
<attr name="banner_numberIndicatorBackground" format="reference" />
<!-- 当只有一页数据时是否显示指示器,默认值为 false -->
<attr name="banner_isNeedShowIndicatorOnOnlyOnePage" format="boolean" />
<!-- 自动轮播区域距离 BGABanner 底部的距离,用于使指示器区域与自动轮播区域不重叠 -->
<attr name="banner_contentBottomMargin" format="dimension"/>
</declare-styleable>