- 浏览: 565530 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
0759cxz:
good job!
Android 同时使用多个library时的问题 -
zhouxiaoli521:
lgj452555712 写道cursor 没有关闭,最好加上 ...
Android sqlite中判断某个表是否存在方法 -
lgj452555712:
cursor 没有关闭,最好加上finally 后关上fina ...
Android sqlite中判断某个表是否存在方法 -
zhouxiaoli521:
zhouxiaoli521 写道weinifk 写道publi ...
StringBuffer的setLength -
zhouxiaoli521:
weinifk 写道public static void ma ...
StringBuffer的setLength
我有一个页面上面有若干个button样式都是相同的 在屏幕居中 25号白色字
之前的代码如下:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/background"> <ImageView android:id="@+id/home_iv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="15dip" android:layout_centerHorizontal="true" android:src="@drawable/home" /> <Button android:id="@+id/home_bt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_below="@id/home_iv1" android:layout_marginTop="15dip" android:background="@drawable/selector" android:gravity="center" android:text="@string/home_b1" /> ........ <Button android:id="@+id/home_bt5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_below="@id/home_bt4" android:layout_marginTop="15dip" android:background="@drawable/selector" android:gravity="center" android:text="@string/home_b5" /> </RelativeLayout>
我们可以看到这五个按钮除了ID和text、还有below(因为用的相对布局,如果用线性布局这块也可以相同)其他的都一样,那我们能不能简化一下这些重复的代码呢?可以,用style。
先看看用style怎么设置这些重复的属性:
在values下新建style.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="homebtn" > <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:textSize">20sp</item> <item name="android:textColor">#FFFFffff</item> <item name="android:gravity">center</item> <item name="android:layout_marginTop">15dip</item> <item name="android:layout_centerHorizontal">true</item> <item name="android:background">@drawable/selector</item> </style> </resources>
在回到我们的布局文件在按钮中设置style="@style/homebtn"就可以了
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/background"> <ImageView android:id="@+id/home_iv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="15dip" android:layout_centerHorizontal="true" android:src="@drawable/home" /> <Button android:id="@+id/home_bt1" style="@style/homebtn" android:layout_below="@id/home_iv1" android:text="@string/home_b1" /> ....... <Button android:id="@+id/home_bt5" style="@style/homebtn" android:layout_below="@id/home_bt4" android:text="@string/home_b5" /> </RelativeLayout>
其实在style中可以定义多个样式给不同的组件使用,现在我们把ImageView也用样式定义一下吧:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="homebtn" > <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:textSize">20sp</item> <item name="android:textColor">#FFFFffff</item> <item name="android:gravity">center</item> <item name="android:layout_marginTop">15dip</item> <item name="android:layout_centerHorizontal">true</item> <item name="android:background">@drawable/selector</item> </style> <style name="homeiv"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_marginTop">15dip</item> <item name="android:layout_centerHorizontal">true</item> </style> </resources>
好了介绍到这里也就完了。等。。等一下这里好像出现了和刚才的布局文件一样的问题,重复的代码!(我是不是有重复癖,看见重复就想消灭。。)
这里的重复能不能消灭呢,这也是可以的。在style下还有一个个有用的属性:
parent – 可选,一些在自定义的style中没有指定的属性会继承parent style中的值。parent可以是android预定义的resource,也可以是自己定义的style。
现在看看使用parent之后的样子:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="homeiv"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_marginTop">15dip</item> <item name="android:layout_centerHorizontal">true</item> <item name="android:background">@drawable/home</item> </style> <style name="homebtn" parent="@style/homeiv"> <item name="android:textSize">20sp</item> <item name="android:textColor">#FFFFffff</item> <item name="android:gravity">center</item> <item name="android:background">@drawable/selector</item> </style> </resources>
当然style最主要的作用不是用来精简代码,而是让开发者自定义更个性的效果,不过这个附加的作用也不错。
发表评论
-
Android NDK开发环境搭建_r8
2014-04-23 16:32 1087本文主内容: 1、 Android NDK 安装 2、 ... -
Android java.lang.VerifyError 异常解决办法
2014-04-01 13:58 4626通常这个异常的问题出现在jar包上 我的情况是 sdk ... -
Android —— 关于ADT 17的BuildConfig.DEBUG
2014-03-21 11:02 1168在日常开发中,我们使用android.util.Lo ... -
Android 让多个Fragment 切换时不重新实例化
2013-12-05 18:48 1464在项目中需要进行Fragment的切换,一直都是用repla ... -
android学习—— context 和 getApplicationContext()
2013-09-22 11:08 1939在android中常常会遇到与context有关的内容 浅 ... -
Android requestFeature() must be called before adding content
2013-07-08 17:18 2383E/AndroidRuntime( 408): androi ... -
Android onActivityResult和横屏
2013-06-20 16:48 1842做一个项目 页面强制横屏 两个activity需要交互 现 ... -
Android 无法加载fragment的问题
2013-06-17 14:42 2468在项目中继承了fragment 重写了构造函数 make ... -
android源码解读一(Context)
2013-04-27 19:16 1808Context类 Context是一个抽象类 publi ... -
Android 4.1 动态加载APK中的资源
2013-04-24 17:29 4199*** is not owned by the curr ... -
Android ADT中增大AVD内存后无法启动:emulator failed to allocate memory 8
2013-04-15 15:45 1813过程中,增大对应AVD的 ... -
Android下面的MD5加密
2013-04-08 12:17 1017网上关于android下MD5加密的资料很多,但是测试了下 ... -
Android 调用系统应用程序信息(Application Info)界面
2013-03-15 18:30 1278“Android系统设置->应用程序->管理应用 ... -
Android Dialog背景透明和黑暗度
2013-03-14 18:20 4111设置透明度,主要设置的是dialog自身的透明度 ... -
全局监听SCREEN_ON和SCREEN_OFF的替代方法--监听屏幕解锁事件
2013-03-08 12:17 3052在做一个程序的时候,需要时刻保持某一服务是启动的, ... -
Android 退出应用程序
2013-01-21 10:53 931android.os.Process.killProcess ... -
Android控件WebView(浏览器)常用功能(图片、缩放)例子介绍
2012-11-06 11:03 2557Android系统默认提供WebView控件(view)来在应 ... -
Android ProgressBar使用.9图在部分android手机上显示异常!
2012-11-05 10:18 2183写道 我使用的是progressbar.xml配置文 ... -
Android 同时使用多个library时的问题
2012-10-29 12:40 1633剧情是这样,我的app要使用两个library,如:Li ... -
android圆形进度条ProgressBar颜色设置
2012-07-29 15:14 1384总结的挺全面 http://aichixihongshi.i ...
相关推荐
**Style**可以在布局XML文件中通过`style`属性引用,而**Theme**则可以在活动或应用程序的配置文件中设置。具体来说,要在布局文件中应用一个**Style**,只需要在视图元素上设置`style`属性,例如: ```xml style=...
可以使用相对布局、约束布局等,配合`dimen.xml`文件中的尺寸资源,实现不同屏幕下的良好显示。 9. **可扩展性与复用性(Extensibility and Reusability)**: 一个好的自定义布局应该具有良好的扩展性和复用性,...
我们可以创建一个XML布局文件,例如`activity_base.xml`,放在`res/layout`目录下,来定义这个自定义标题栏。 ```xml <!-- res/layout/activity_base.xml --> <LinearLayout xmlns:android=...
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="文件/目录名"/> ``` 为了将数据绑定到`ListView`,我们需要创建一个适配器,比如`ArrayAdapter`或`...
"Android style简单学习应用示例.zip"提供了一个基础的源码示例,帮助初学者理解如何在Android应用中使用和自定义风格。 首先,让我们了解什么是Android Style。在Android中,风格是XML文件中的一组属性,定义了UI...
在Android中,UI布局主要通过XML文件定义,这些文件通常位于项目的res/layout目录下。易信UI布局的实现会涉及到各种布局容器,如LinearLayout、RelativeLayout、ConstraintLayout等,它们用于组织和定位子视图。通过...
首先,要添加一个按钮到Android布局文件中,通常使用XML来定义。在`res/layout`目录下的XML布局文件中,我们可以使用`<Button>`标签来创建一个按钮。例如: ```xml android:id="@+id/my_button" android:layout_...
此外,适配工作还包括布局(layout)的调整,如使用相对布局(RelativeLayout)、约束布局(ConstraintLayout)等,以确保界面在不同屏幕尺寸上都能良好展示。还有主题(Theme)和样式(Style)的适配,可以通过创建...
在Android中,为了减少重复代码并提高布局的复用性,可以使用`include`标签来引用已定义好的布局文件。这种方式非常适用于需要在多个地方复用相同布局的情况,比如顶部导航栏、底部导航栏等。 ### 示例:底部导航栏...
- Android 使用XML文件定义布局,如 `LinearLayout`,它是一种基本的布局容器,可以垂直或水平排列子视图。在XML中,`orientation` 属性决定了子视图的排列方式。 - `layout_height` 和 `layout_width` 属性定义了...
总结来说,解决Android Studio Design界面不显示layout控件的问题主要涉及到`styles.xml`文件的修改,特别是正确设置`Style`标签的`parent`属性。理解并熟练运用`styles.xml`文件和`Style`标签,不仅可以修复这类...
样式可以用来定义一组属性值的集合,以便在多个地方重复使用,简化XML文件。例如,在提供的示例中使用了以下两种样式: - **@style/TextViewTitleWidgetStyle**:用于设置`TextView`的标题样式。 - **@style/...
2. **在主布局中使用`include`标签**:接着,在需要使用共享布局的位置添加`<include>`标签,并通过`layout`属性指定要包含的布局文件。 3. **测试与调试**:最后,运行应用检查布局是否正确加载并显示。 **示例...
android:onClick 属性的使用方法非常简单,只需要在布局文件中添加 android:onClick 属性,并将其值设置为要调用的方法名称,该方法必须定义在 Activity 中,并且需要符合特定的参数和返回值类型。 例如,以下是...
在`res/layout`目录下新建一个XML布局文件,例如`splash_activity.xml`: ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:...
在Android布局XML文件中,我们可以使用`<Button>`标签来创建一个按钮。例如: ```xml android:id="@+id/myButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=...
3. **子视图尺寸**:LinearLayout中的子视图可以使用`android:layout_width`和`android:layout_height`属性来设定尺寸,但当`layout_weight`非零时,这些属性通常设置为`0dp`(MATCH_PARENT的等价物,表示视图尺寸仅...
// 或者在XML布局文件中使用自定义字体 android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:typeface="@font/custom_font" /> ``` 3. **通过...
- 在布局XML文件中添加`TimePicker`控件: ```xml android:id="@+id/time_picker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:timePickerMode="spinner" /> ``` ...
在Android开发中,样式(style)和主题(theme)是两个关键的概念,它们允许开发者为应用程序创建一致的视觉体验,同时简化代码。本篇文章将深入探讨这两个概念,并通过具体的例子来阐述如何定义和应用它们。 首先,...