Android应用技巧总结

本文介绍了如何在Android中使用Drawable自定义视图的颜色与背景,获取设备屏幕尺寸的方法,以及通过Style机制统一UI元素的样式,提高开发效率。

1.Drawable的使用

最经常会处理Drawable作为类型的资源回收绘制到屏幕上的东西;Drawable类提供了一个通用的API来处理一个基本的视觉资源,可以采取多种形式。(讲的有点抽象)讲白点就是获取res下的参数

例:改变TextView文字颜色-引用Drawable颜色常熟及背景色

values下的color.xml

Xml代码

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <resources>
  3. <drawablename="darkgray">#808080FF</drawable>
  4. <drawablename="white">#FFFFFFFF</drawable>
  5. </resources>
  6. <?xmlversion="1.0"encoding="utf-8"?>
  7. <resources>
  8. <drawablename="darkgray">#808080FF</drawable>
  9. <drawablename="white">#FFFFFFFF</drawable>
  10. </resources>

对文本框的背景色进行设置

Java代码

  1. Resourcesresources=
    getBaseContext().getResources();
  2. DrawableHippoDrawable=
    resources.getDrawable(R.drawable.white);
  3. mTextView01.setBackgroundDrawable(HippoDrawable);
  4. Resourcesresources=getBaseContext().getResources();
  5. DrawableHippoDrawable=
    resources.getDrawable(R.drawable.white);
  6. mTextView01.setBackgroundDrawable(HippoDrawable);

2.获取手机屏幕大小

Java代码

  1. DisplayMetricsdm=newDisplayMetrics();
  2. getWindowManager().getDefaultDisplay().getMetrics(dm);
  3. Stirngwidth=dm.widthPixels;
  4. Stirngheiht=dm.heightPixels;
  5. DisplayMetricsdm=newDisplayMetrics();
  6. getWindowManager().getDefaultDisplay().getMetrics(dm);
  7. Stirngwidth=dm.widthPixels;
  8. Stirngheiht=dm.heightPixels;

3.Androidstyle机制

仅仅是加了一个Style.一个Style就能够实现控件的显示效果样式么?Android的Style机制真的很强大.
例:

Xml代码

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. -<resources>
  3. -<stylename="DavidStyleText1">
  4. <itemname="android:textSize">18sp</item>
  5. <itemname="android:textColor">#EC9237</item>
  6. </style>
  7. -<stylename="DavidStyleText2">
  8. <itemname="android:textSize">14sp</item>
  9. <itemname="android:textColor">#FF7F7C</item>
  10. <itemname="android:fromAlpha">0.0</item>
  11. <itemname="android:toAlpha">0.0</item>
  12. </style>
  13. </resources>
  14. <?xmlversion="1.0"encoding="utf-8"?>
  15. -<resources>
  16. -<stylename="DavidStyleText1">
  17. <itemname="android:textSize">18sp</item>
  18. <itemname="android:textColor">#EC9237</item>
  19. </style>
  20. -<stylename="DavidStyleText2">
  21. <itemname="android:textSize">14sp</item>
  22. <itemname="android:textColor">#FF7F7C</item>
  23. <itemname="android:fromAlpha">0.0</item>
  24. <itemname="android:toAlpha">0.0</item>
  25. </style>
  26. </resources>

Xml代码

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. -<LinearLayoutxmlns:android=
    "http://schemas.android.com/apk/res/android"
    android:background="@drawable/white"android:orientation=
    "vertical"android:layout_width="fill_parent"
    android:layout_height="fill_parent">
  3. -<!--应用模式1的TextView
  4. -->
  5. <TextViewstyle="@style/DavidStyleText1"
    android:layout_width="fill_parent"android:layout_height=
    "wrap_content"android:gravity="center_vertical|
    center_horizontal"
    android:text="@string/str_text_view1"/>
  6. -<!--应用模式2的TextView
  7. -->
  8. <TextViewstyle="@style/DavidStyleText2"
    android:layout_width="fill_parent"android:layout_height=
    "wrap_content"android:gravity="center_vertical|
    center_horizontal"
    android:text="@string/str_text_view2"/>
  9. </LinearLayout>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值