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

androidxml属性

发布时间: 2022-05-08 06:49:11

‘壹’ Android开发中,xml资源文件中的id属性,为什么有的是@+id/....有的是@android:id/....;而且为什么有+号

Android中组件需要用一个int类型的值来表示,这个值就是组件的id。
如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java
文件中生成相应的int类型变量。例如,@+id/button1会在R.java文件中生成int button1 = value,其中value是一个十六进制的数。如果button1在R.java中已经存在同名的变量,就不再生成新的变量,而该组件会使用这个已存在的变量的值。

组件的id属性是一个资源id就可以,那么可以设置任何已经存在的资源id值。
@android:id/....这种方式就是设置一个已经存在的资源id。实际上,这个android就是系统的R类(在R.java文件中)所在的package。

‘贰’ android 自定义view 怎么获取xml属性

你说的是自定义view ,也就是你自己写了个自定义的UI控件,在xml中你只要将该控件写出来即可(如Button,TexView当作控件来写),例如:<view(你自定义的view的类名)/>,接下来你就懂了,在里面声明你要的属性

‘叁’ 如何通过android官方api查看xml文件属性的相关说明

frameworks\base\core\res\res\values\attrs.xml这个可以看
另外就是xml的属性一般都有对应的java类,到这个java 类api 里面可以查看到属性

‘肆’ and android:解析xml,一个节点标签中,有多个属性,怎样解析

定义好对象关系的类。


解析以Course为例子

publicstaticList<Course>getCourseList(InputStreamstream){
List<Course>list=newArrayList<Course>();

//得到DocumentBuilderFactory对象,由该对象可以得到DocumentBuilder对象
DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();

try{
//得到DocumentBuilder对象
DocumentBuilderbuilder=factory.newDocumentBuilder();
//得到代表整个xml的Document对象
Documentdocument=builder.parse(stream);
//得到"根节点"
Elementroot=document.getDocumentElement();
//获取根节点的所有items的节点
NodeListitems=root.getElementsByTagName("item");
//遍历所有节点
for(inti=0;i<items.getLength();i++){
Coursecourse=newCourse();
Elementitem=(Element)items.item(i);
course.setName(item.getAttribute("name"));
//再枚举子节点
list.add(course);
}

}catch(ParserConfigurationExceptione){
e.printStackTrace();
}catch(SAXExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}

returnlist;
}

‘伍’ 如何查找一个Android控件具有哪些XML属性

通过设置公共style的方式对同一个属性进行统一设置
1、res/values文件夹下新建一个xml文件
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--定义一个叫et1的style-->
<style name="et1" parent="@android:style/Widget.EditText">
<!--设置控件的背景色-->
<item name="android:background">#1A4EA4</item>
</style>
</resources>
2、组件中使用
1
2
<EditText android:layout_width="fill_parent" android:id="@+id/et2"
android:text="自定义样式一" android:layout_height="wrap_content" style="@style/et1"></EditText> <!--设置style为et1,需要设置同样属性的其他组件可以都设置成同一个style-->

‘陆’ android中xml中有些控件的属性里面有 "app:.." ,此处的app:是什么意思和一般的android:有什么区别

区别是:这两个是声明的不同的命名空间,android的是系统的,app是自定义的。


Android自定义控件的属性,在xml中使用自己自定义的attr的时候,其中有一步就是要自定义一个xml的命名空间后然后再给自定义属性赋值,现在发现不知道什么时候开始Android把这个改了,现在发现可以统一用
xmlns:app="http://schemas.android.com/apk/res-auto"
而不是原来的:
xmlns:app="http://schemas.android.com/apk/App的Package名"
还有人提到在作为lib被使用的时候,也应该用res-auto

所以说区别就是如果你http://schemas.android.com/apk/后面写的是res/包名,那就是相关包名下的自定义属性,而res-auto就是所有的自定义包名。

‘柒’ 在android中,xml文件中的属性从哪里来的

可以去下载Framework层源码 进入\frameworks\base\core\res\res\values里面有attrs文件这些就是定义xml属性的来源

‘捌’ Android 中 怎么动态修改布局xml文件中的根属性值 比如如下图的两个属性值 fitsSystemWindows 改为 false

给这个RelativeLayout设置一个id,比如 android:id="@+id/rl"

然后在class文件中获取此控件,再设置属性即可

RelativeLayoutrelativeLayout=(RelativeLayout)findViewById(R.id.rl);
relativeLayout.setFitsSystemWindows(false);

‘玖’ android中如何在xml文件中增加属性

好的设置方式往往是数据驱动的,通过数据控制代码的运行,便于代码的维护和修改。在android中增中自定义的xml属性, 可以把数据存储在xml文件中,然后在代码中取出这些属性的值。分为以下几步:
1. 在attrs.xml文件中定义属性的类型,即字符串还是数值如下:
2.在xml 文件中指定譔属性的值。如下:
android:key="tiltSensitivity"
android:defaultValue="50"
android:title="@string/preference_tilt_sensitivity"
android:summary="@string/preference_tilt_sensitivity_summary"
replica:maxText="@string/preference_tilt_max"
replica:minText="@string/preference_tilt_min"
android:persistent="true"
android:dependency="enableTiltControls"/>
3.在代码中读取值,方法如下:
public SliderPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.SliderPreference, defStyle, 0);
mMinText = a.getString(R.styleable.SliderPreference_minText);

热点内容
win7c盘加密 发布:2025-05-14 15:04:49 浏览:511
dm码编程 发布:2025-05-14 15:03:56 浏览:405
apache加密 发布:2025-05-14 14:49:13 浏览:970
安卓什么软件苹果不能用 发布:2025-05-14 14:49:03 浏览:772
jsoupjava 发布:2025-05-14 14:38:00 浏览:888
影豹选哪个配置最好 发布:2025-05-14 14:28:50 浏览:256
定期预算法的 发布:2025-05-14 14:24:08 浏览:895
interbase数据库 发布:2025-05-14 13:49:50 浏览:691
微商海报源码 发布:2025-05-14 13:49:42 浏览:347
分布式缓存部署步骤 发布:2025-05-14 13:24:51 浏览:611