天天看点

使用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/名称" 

子类的样式大于父类