Android开发truck快速开发框架 Shape(八)

简介

开发中在界面的搭建阶段,最让我感到恶心的就是按钮、背景样式的更改。比如说需要一个圆角矩形的按钮、需要一个描边的文字等等。这样的操作虽然不难,但是需要写大量的shape标签的xml文件,特别是当不仅包含shape,还包含selector标签的时候,往往一个圆角矩形按钮,就需要好几个xml文件。而且在项目中不同的颜色、不同的样式也都需要重新写这样的shape文件,这样往往会降低开发的效率。很早以前就有人为了解决这个问题了,写了一套自定义控件flyco.roundView。在使用了一段时间后,为了解决新的问题,我在roundView上新增了部分功能。在Shape部分主要讲解RoundView的简单使用,也会提到折叠TextView等常用自定义控件。

示例

Roundview分为RoundTextView、RoundLinearLayout、RoundRelativeLayout、RoundFrameLayout这几个常用View,他们的基本使用方法都是一样的。圆角矩形按钮:
 <com.flyco.roundview.RoundTextView
        android:id="@+id/rtv_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="@dimen/size_8"
        android:layout_marginRight="@dimen/size_8"
        android:layout_marginTop="@dimen/size_8"
        android:gravity="center"
        android:paddingBottom="@dimen/size_12"
        android:paddingTop="@dimen/size_12"
        android:textColor="@color/colorFont33"
        app:rv_backgroundColor="@color/white"
        app:rv_cornerRadius="@dimen/size_4"
       ></com.flyco.roundview.RoundTextView>
选中和未选中shape切换:
 app:rv_textPressColor="@color/white"
        app:rv_textSelectedColor="@color/white"
按下和未按下shape切换:
    app:rv_backgroundPressColor="@color/deeporange500"
        app:rv_backgroundSelectedColor="@color/deeporange500"
描边和描边颜色切换:
  app:rv_strokeWidth="@dimen/size_2"
        app:rv_strokeColor="@color/accentPress"
使用RoundView几乎可以解决开发中常见的关于shape设置的问题。
在平时开发中还有一个比较常用的控件就是CollapsedTextView。CollapsedTextView可以设置折叠的字数、设置提示文字颜色等、提示文字等。基本使用如下:
 <com.yuan.basemodule.common.view.CollapsedTextView
        android:id="@+id/ctv_content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="0.8dp"
        android:background="@android:color/white"
        android:paddingBottom="16dp"
        android:paddingLeft="@dimen/size_16"
        android:paddingRight="@dimen/size_16"
        android:paddingTop="16dp"
        android:text="修改折叠World!"
        android:textSize="@dimen/size_16"
        app:ctv_textNum="110"
        app:ctv_tipsColor="@color/colorPrimary" />

快速开发

开发中除了可以使用Roundview提高开发效率之外,还可以使用style来提高开发效率。如果是一个套app的ui设计在设计之初就确定几个主题色、一些固定样式、固定大小的设计。这时候,我们可以通过提取公共部分写成style,在搭建布局文件时也能明显提高开发效率。举个例子,在开发中我们经常需要横向的细线、纵向的细线,例如:
<!-- 横向线条 -->
    <style name="w_line">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">0.8dp</item>
        <item name="android:background">@color/colorDivider</item>
    </style>
    <!-- 纵向线条 -->
    <style name="h_line">
        <item name="android:layout_width">0.8dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:background">@color/colorDivider</item>
    </style>
在同一个app的ui设计中,类似按钮的形状等,都应该保持一致,所以我建议这样的公共部分,我们都可以使用style的方式来实现,也方便以后做统一的修改。trucK中base部分,在value文件夹中对常用的dimen、style、color等都做了一个整理,方便开发的时候快速实现想要的样式。
最后附上truck快速开发交流qq群:698442320

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值