代碼:
package com.oyzz.ch3_3;
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.widget.TextView;
public class Ch3_3 extends Activity {
//聲明兩個對象
private TextView tv1 = null;
private TextView tv2 = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv1 = (TextView)findViewById(R.id.tv1);
//getString()從配置檔案裡取得字元串,值得注意的就是對于""要記得進行轉義哦,呵呵
String str = getString(R.string.str);
//得到螢幕的大小
DisplayMetrics dm = new DisplayMetrics();//建立DisplayMetrics對象
getWindowManager().getDefaultDisplay().getMetrics(dm);//得到後存放到DisplayMetrics對象
String str1 = dm.widthPixels +"x"+dm.heightPixels;//得到寬度和高度
tv1.setText("我是應用Drawable背景色的戴維文本"+str+"-->"+str1);
//得到color.xml中定義的顔色
Resources rs = getBaseContext().getResources();
Drawable dw = rs.getDrawable(R.drawable.tv1);
tv1.setBackgroundDrawable(dw);//設定背景色
tv2 = (TextView)findViewById(R.id.tv2);
tv2.setTextColor(Color.MAGENTA);//使用Color類裡的顔色(系統預設有12種)
}
}
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id = "@+id/tv1"
style="@style/tv1"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id = "@+id/tv2"
android:text="@string/hello"
style="@style/tv2"
/>
</LinearLayout>
color.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="tv1">#808080FF</drawable>
</resources>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">/"使用graphics.Color設定文本顔色/"</string>
<string name="str">我是配置檔案strings.xml裡的字元串?</string>
<string name="app_name">Ch3_3</string>
</resources>
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="tv1">
<item name="android:textSize">18sp</item>
<item name="android:textColor">#EC9237</item>
</style>
<style name="tv2" parent="tv1">
<item name="android:textSize">28sp</item>
<item name="android:textColor">#FF7F7C</item>
<item name="android:fromAlpha">0.0</item>
<item name="android:toAlpha">0.0</item>
</style>
</resources>
學習體會:
1.android中裡面預設提供12種顔色到android.graphics.Color;裡面
2.
LinearLayout:為 線性布局
AbsoluteLayout:為絕對布局
wrap_content:包圍文本的長度
fill_parent:填充父容器
3.得到螢幕的大小
DisplayMetrics dm = new DisplayMetrics();//建立DisplayMetrics對象
getWindowManager().getDefaultDisplay().getMetrics(dm);//得到後存放到DisplayMetrics對象
String str1 = dm.widthPixels +"x"+dm.heightPixels;//得到寬度和高度
4.樣式定義:
和color.xml一樣,也是到values/添加一個style.xml檔案,在到檔案裡添加如下結構的節點
<style name = "" parent="父類的樣式">
<item name="屬性">值</item>
</style>
引用的話,跟其他的也是一樣的
使用"@style/名稱"
子類的樣式大于父類