注:默认设置放在最后。
1.颜色xml:values-->resources-->color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="yellow">#FFFF00</color>
<color name="zise">#D15FEE</color>
<color name="lightblue">#8DB6CD</color>
</resources>
2.颜色selector:Color List-->selector-->/color/xxx.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="@color/yellow"/>
<item android:color="@color/zise"/>
</selector>
3.尺寸(文件大小、控件大小等)dimens:values-->dimens.xml
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="btn_head_width">100dp</dimen>
<dimen name="btn_head_high">100dp</dimen>
<dimen name="edit_width">200dp</dimen>
<dimen name="edit_high">60dp</dimen>
<dimen name="edit_width_xhdpi">60dp</dimen>
<dimen name="edit_high_xhdpi">160dp</dimen>
<dimen name="textsize">20dp</dimen>
<dimen name="EditText_layout_marginTop">80dp</dimen>
<dimen name="textView_layout_marginTop">26dp</dimen>
</resources>
4.背景图片:Drawable-->selector-->/drawable/xxx.xml
<?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/ic_pressed"></item>
<item android:drawable="@drawable/ic_default"></item>
</selector>
5.主题相关
常用的系统主题:
1. 没有标题:
@android:style/Theme.Black.NoTitleBar
2. 全屏幕
@android:style/Theme.Black.NoTitleBar.Fullscreen
3. 透明
@android:style/Theme.Translucent
4. 桌面壁纸作为背景
@android:style/Theme.Wallpaper
5. 对话框
@android:style/Theme.Dialog
对Activity的生命周期是否有影响?
练习:第一个Activity中有两个按钮,
一个弹出对话框主题的Activity,
另一个弹出对话框,测试二者对
第一个Activity生命周期是否有影响。
弹出对话框主题的Activity:
暂停状态,onPause()
弹出对话框
生命周期没有影响
使用场景:
1. 对话框主题的Activity
例如:在桌面弹出短信内容对话框
对话框后面的Activity是其他App的,这时必须使用对话框主题的
Activity
2. 对话框
需要使用Activity中的成员变量时
6.设置一按钮点击时图片和文字颜色都有高亮效果
<TextView
android:id="@+id/home_tv_city"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:drawableLeft="@drawable/selector_home_citymore"
android:drawablePadding="4dp"
android:gravity="center"
android:paddingRight="12dp"
android:text="厦门"
android:textColor="@color/selector_home_city"
android:textSize="20sp" />
res/drawable/selector_home_citymore.xml代码:
<?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/home_morecity_pre"></item>
<item android:drawable="@drawable/home_morecity_nor"></item>
</selector>
res/color/selector_home_city.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="@color/cyan"/>
<item android:color="@color/white"/>
</selector>
7.创建一个shape的selector
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"><shape>
<solid android:color="@color/gray_text" />
</shape></item>
<item><shape>
<solid android:color="@color/touming" />
</shape></item>
</selector>
8.代码编写selector
范例:
布局xml代码:
<TextView
android:id="@+id/TextView_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="true"
android:drawableTop="@drawable/selector_tabwidget_icon"
android:textAlignment="center"
/>
selector的xml代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/contact" />
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/contact_sel" />
<!-- Focused states -->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/contact_sel" />
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/contact_sel" />
<!-- Pressed -->
<item android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/contact_sel" />
<item android:state_pressed="true" android:drawable="@drawable/contact_sel" />
</selector>
selector的java代码:
StateListDrawable drawable = new StateListDrawable();
//Non focused states
drawable.addState(new int[]{-android.R.attr.state_focused, -android.R.attr.state_selected, -android.R.attr.state_pressed},
getResources().getDrawable(R.drawable.contact));
drawable.addState(new int[]{-android.R.attr.state_focused, android.R.attr.state_selected, -android.R.attr.state_pressed},
getResources().getDrawable(R.drawable.contact_sel));
//Focused states
drawable.addState(new int[]{android.R.attr.state_focused,-android.R.attr.state_selected, -android.R.attr.state_pressed},
getResources().getDrawable(R.drawable.contact_sel));
drawable.addState(new int[]{android.R.attr.state_focused,android.R.attr.state_selected, -android.R.attr.state_pressed},
getResources().getDrawable(R.drawable.contact_sel));
//Pressed
drawable.addState(new int[]{android.R.attr.state_selected, android.R.attr.state_pressed},
getResources().getDrawable(R.drawable.contact_sel));
drawable.addState(new int[]{android.R.attr.state_pressed},
getResources().getDrawable(R.drawable.contact_sel));
TextView textView = (TextView) findViewById(R.id.TextView_title);
textView.setCompoundDrawablesWithIntrinsicBounds(null, drawable, null, null);
转载于:https://blog.51cto.com/glblong/1208480