当前位置:首页 » 安卓系统 » android属性

android属性

发布时间: 2022-04-04 20:05:58

Ⅰ android 系统属性怎么定义

对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现:

自定义一个CustomView(extends View )类
编写values/attrs.xml,在其中编写styleable和item等标签元素
在布局文件中CustomView使用自定义的属性(注意namespace)
在CustomView的构造方法中通过TypedArray获取
ps:如果你对上述几个步骤不熟悉,建议先熟悉下,再继续~
那么,我有几个问题:

以上步骤是如何奏效的?
styleable 的含义是什么?可以不写嘛?我自定义属性,我声明属性就好了,为什么一定要写个styleable呢?
如果系统中已经有了语义比较明确的属性,我可以直接使用嘛?
构造方法中的有个参数叫做AttributeSet
(eg: MyTextView(Context context, AttributeSet attrs) )这个参数看名字就知道包含的是参数的数组,那么我能不能通过它去获取我的自定义属性呢?
TypedArray是什么鬼?从哪冒出来的,就要我去使用?
恩,针对这几个问题,大家可以考虑下,如何回答呢?还是说:老子会背上述4个步骤就够了~~

2、常见的例子

接下来通过例子来回答上述问题,问题的回答顺序不定~~大家先看一个常见的例子,即上述几个步骤的代码化。

Ⅱ android TextView 属性求解

android:soundEffectsEnabled 设置点击或触摸时是否有声音效果
android:textColorLink 文字链接的颜色.
android:shadowColor 指定文本阴影的颜色,需要与shadowRadius一起使用。

Ⅲ android里的BUTTON里的属性问题

你这看上去很是矛盾啊。。。你把右和底去掉别写。。你最下面那句是距离顶30dip..可是你上面的paddingTop为什么写成0啊。。具我实测。。这个padding 和margin 在某种意义上是一样的效果。。

Ⅳ Android属性:所设属性值为何在重起后被清除

adbsehllsetProp所设属性值在重起之后被清除。

是因为必须采用persist.开头的属性名才能永久保存。


如果拥有root权限,可直接编辑/system/build.prop并加入需要永久保存的属性。

具体操作参考原创文章:

Android属性:所设属性值为何在重起后被清除

地址:blog.csdn.net/cloudwu007/article/details/7850496

文章预览:

Ⅳ android按钮隐藏属性

设置android:visibility="gone"

在Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”、“invisible”、“gone”。主要用来设置控制控件的显示和隐藏。
visible :可见
invisible:不可见,但是当前view占位(即显示空白)
gone:不可见(隐藏,不显示空白)

Ⅵ android 带 的 属性是怎么定义的

一、在res/values文件下定义一个attrs.xml文件,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="ToolBar">
<attr name="buttonNum" format="integer"/>
<attr name="itemBackground" format="reference|color"/>
</declare-styleable>
</resources>

二、在布局xml中如下使用该属性:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:toolbar="http://schemas.android.com/apk/res/cn.zzm.toolbar"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<cn.zzm.toolbar.ToolBar android:id="@+id/gridview_toolbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/control_bar"
android:gravity="center"
toolbar:buttonNum="5"
toolbar:itemBackground="@drawable/control_bar_item_bg"/>
</RelativeLayout>

三、在自定义组件中,可以如下获得xml中定义的值:

TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.ToolBar);
buttonNum = a.getInt(R.styleable.ToolBar_buttonNum, 5);
itemBg = a.getResourceId(R.styleable.ToolBar_itemBackground, -1);

a.recycle();

就这么简单的三步,即可完成对自定义属性的使用。

*********************************************************************

好了,基本用法已经讲完了,现在来看看一些注意点和知识点吧。

首先来看看attrs.xml文件。

该文件是定义属性名和格式的地方,需要用<declare-styleable name="ToolBar"></declare-styleable>包围所有属性。其中name为该属性集的名字,主要用途是标识该属性集。那在什么地方会用到呢?主要是在第三步。看到没?在获取某属性标识时,用到"R.styleable.ToolBar_buttonNum",很显然,他在每个属性前面都加了"ToolBar_"。

在来看看各种属性都有些什么类型吧:string , integer , dimension , reference , color , enum.

前面几种的声明方式都是一致的,例如:<attr name="buttonNum" format="integer"/>。
只有enum是不同的,用法举例:

<attr name="testEnum">
<enum name="fill_parent" value="-1"/>
<enum name="wrap_content" value="-2"/>
</attr>

如果该属性可同时传两种不同的属性,则可以用“|”分割开即可。让我们再来看看布局xml中需要注意的事项。

首先得声明一下:xmlns:toolbar=http://schemas.android.com/apk/res/cn.zzm.toolbar
注意,“toolbar”可以换成其他的任何名字,后面的url地址必须最后一部分必须用上自定义组件的包名。自定义属性了,在属性名前加上“toolbar”即可。最后来看看java代码中的注意事项。

在自定义组件的构造函数中,用

TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.ToolBar);

来获得对属性集的引用,然后就可以用“a”的各种方法来获取相应的属性值了。这里需要注意的是,如果使用的方法和获取值的类型不对的话,则会返回默认值。因此,如果一个属性是带两个及以上不用类型的属性,需要做多次判断,知道读取完毕后才能判断应该赋予何值。当然,在取完值的时候别忘了回收资源哦!

Ⅶ Android属性系统都有哪些

  • 在Android系统里,为了让C和JAVA语言间可进行数据传输,除了使用JNI机制来处理,还可以使用属性系统来处理,这样更方便,也更容易处理,

  • 在JAVA语言里,我们可以使用SystemProperties.get/set来处理;而在C里面,我们可以使用property_get/set来处理,相应的例子如下:

  • 1、Java

    import android.os.SystemProperties;

    SystemProperties.set("persist.sys.language",zone.getID());

    String.get("persist.sys.language");

    其中以persist开头的属性会在/data/property目录下创建相应的文件,如果以ro开头则是只读,不可变更该属性值。

  • 2、C

    #include <cutils/properties.h>

    property_set("persist.sys.language","zh");

    property_get("persist.sys.language",pLang,"en");

    还需要包含libcutils库。

  • 看到上面的属性名了吧,相同的名字,这样就可以在C与JAVA之间进行属性或参数传递了,当然属性名也是有长度限制的,由PROP_NAME_MAX宏指定,而属性值也一样有限制,由PROP_VALUE_MAX宏指定,在Android源码里的frameworks/base/core/java/android/os/SystemProperties.java文件里可以查看到,对应的值分别是31和91。

Ⅷ Android 布局里的属性 android:stretchColums="*" 是什么意思

android:stretchColums="*"是设置TableRow下的列的全部列都被拉伸,有点像为TableRow每个子项加了个权限1,
TablelLayout并不需要明确地声明包含多少行、多少列,而是通过TableRow,以及其他组件来控制表格的行数和列数,
TableRow也是容器,因此可以向TableRow里面添加其他组件,每添加一个组件该表格就增加一列。

Ⅸ Android开发之layout_gravity属性

layout_gravity 是LinearLayout 子元素的特有属性。对于layout_gravity, 该属性用于设置控件相对于容器的对齐方式,可选项有:top、bottom、left、right、center_vertical、fill_vertical 、 center、fill等等。

这些可选项中不是适用于每一种布局。在垂直线性布局中,android:gravity为bottom不起作用;而水平线性布局中,android:gravity为right不起作用。

本属性是android:layout_gravity属性,与 android:gravity 属同。android:gravity是LinearLayout的特有属性。android:layout_gravity是LinearLayout 子元素的特有属性,不要混淆了。

(9)android属性扩展阅读

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。

2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。

Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。

热点内容
linux读取u盘 发布:2025-05-15 21:32:13 浏览:507
c语言dos 发布:2025-05-15 21:18:17 浏览:663
sci编译英文 发布:2025-05-15 21:16:57 浏览:382
大猫如何设置密码 发布:2025-05-15 21:15:32 浏览:764
什么叫苹果版的和安卓版的手机 发布:2025-05-15 21:05:18 浏览:253
编程找点 发布:2025-05-15 20:43:10 浏览:587
php上传临时文件夹 发布:2025-05-15 20:43:00 浏览:657
impala数据库 发布:2025-05-15 20:42:12 浏览:649
android安装插件 发布:2025-05-15 20:41:31 浏览:241
神秘顾客访问 发布:2025-05-15 20:33:39 浏览:298