天天看點

使用Drawable中預設的12種顔色,得到螢幕的大小,樣式

 代碼:

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/名稱" 

子類的樣式大于父類