实现下图效果只需一个TextView
<?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
双击打开后点击左下角
就可以使用了
EditText样式
1.更改光标颜色:可设置颜色或图片
android:textCursorDrawable="@color/colorPrimary"
android:backgroundTint="#9bd435" <!--下划线颜色-->
android:textColorHighlight="#9bd435" <!--选中文字背景色-->
3.使用Material Design主题属性
首先了解一下Material Design 各个属性。这里有张在网上找来的图,此图一目了然。
那么其实就简单了,在我们的主题中加入colorAccent
即可。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorAccent">#9bd435</item>
</style>
效果图: