一些布局优化技巧

实现下图效果只需一个TextView

Paste_Image.png

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
<TextView android:drawableLeft="@drawable/icon_1" 
    android:drawableRight="@drawable/icon_4" 
    android:drawablePadding="10dp" 
    android:paddingLeft="10dp" 
    android:paddingRight="10dp" 
    android:textSize="16sp" 
    android:text="我的卡券" 
    android:background="@color/white" 
    android:gravity="center_vertical" 
    android:layout_width="match_parent" 
    android:layout_height="50dp" />
</LinearLayout>

动态设置文本与图片相对位置时,常用到如下方法:
setCompoundDrawables(left, top, right, bottom)
setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom)
两者有些区别:setCompoundDrawables 画的drawable的宽高是按drawable.setBound()设置的宽高,所以才有The Drawables must already have had setBounds(Rect) called.
使用之前必须使用Drawable.setBounds设置Drawable的长宽。
setCompoundDrawablesWithIntrinsicBounds是画的drawable的宽高是按drawable固定的宽高,所以才有The Drawables' bounds will be set to their intrinsic bounds.
即通过getIntrinsicWidth()与getIntrinsicHeight()获得

LinearLayout添加分割线
LinearLayout有两个属性
1、Android:divider="@drawable"
drawable可以是图片文件,也可以是xml绘制的shape。
使用shape的时候一定要添加<size> ,一定要添加颜色,即使是透明,例如:

<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android">  
    <solid android:color="@color/account_line" />  
    <size android:height="1px" />  
</shape>  

2、

android:showDividers = "middle|end|beginning|none"

middle 在每一项中间添加分割线
end 在整体的最后一项添加分割线
beginning 在整体的最上方添加分割线
none 无

使用.9图
先将图片名加上.9,如原图名为ic_launcher.png,则改为ic_launcher.9.png
双击打开后点击左下角

Paste_Image.png

Paste_Image.png

就可以使用了

EditText样式
1.更改光标颜色:可设置颜色或图片

android:textCursorDrawable="@color/colorPrimary"
android:backgroundTint="#9bd435" <!--下划线颜色-->
android:textColorHighlight="#9bd435" <!--选中文字背景色-->

3.使用Material Design主题属性
首先了解一下Material Design 各个属性。这里有张在网上找来的图,此图一目了然。

Paste_Image.png

那么其实就简单了,在我们的主题中加入colorAccent
即可。

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorAccent">#9bd435</item>
</style>

效果图:


Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,057评论 25 709
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,334评论 0 17
  • 前言 如上图所示,相信可爱的安卓程序猿们在开发中经常会遇到这种样式的UI开发。其实上面这种布局很简单,没有难度,只...
    笑哥哥阅读 4,105评论 0 4
  • 近日,被一个新闻惊到了。 一个6岁男孩因在电梯内撒尿,致使电梯线路板短路。孩子也因此坠落到电梯井,颅脑损伤,肺大面...
    彭文鱼阅读 1,087评论 2 5
  • 今天和大家分享的电影是罗卓瑶执导的影片诱僧,这部电影改变李碧华的小说“诱僧”,整部电影采用仿古的手法再现大唐时期的...
    自在龙阅读 7,387评论 0 0

友情链接更多精彩内容