Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别

Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别

一.@代表引用资源

1.引用自定义资源。格式:@[package:]type/name

android:text="@string/hello"

 

2.引用系统资源。格式:@android:type/name

    android:textColor="@android:color/opaque_red"

  注意:其实@android:type/name是@[package:]type/name 的一个子类

二.@*代表引用系统的非public资源。格式:@*android:type/name

  系统资源定义分public和非public。public的声明在:

  <sdk_path>\platforms\android-8\data\res\values\public.xml

  @*android:type/name:可以调用系统定义的所有资源

  @android:type/name:只能够调用publi属性的资源。

  注意:没在public.xml中声明的资源是google不推荐使用的。

三.?代表引用主题属性

  另外一种资源值允许你引用当前主题中的属性的值。这个属性值只能在style资源和XML属性中使用;它允许你通过将它们改变为当前主题提供的标准变化来改变UI元素的外观,而不是提供具体的值。例如:

  android:textColor="?android:textDisabledColor" 

   注意,这和资源引用非常类似,除了我们使用一个"?"前缀代替了"@"。当你使用这个标记时,你就提供了属性资源的名称,它将会在主题中被查找,所以你不需要显示声明这个类型(如果声明,其形式就是?android:attr/android:textDisabledColor)。除了使用这个资源的标识符来查询主题中的值代替原始的资源,其命名语法和"@"形式一致:?[namespace:]type/name,这里类型可选。

 四.@+代表在创建或引用资源 。格式:@+type/name

    含义:”+”表示在R.java中名为type的内部类中添加一条记录。如"@+id/button"的含义是在R.java 文件中的id 这个静态内部类添加一条常量名为button。该常量就是该资源的标识符。如果标示符(包括系统资源)已经存在则表示引用该标示符。最常用的就是在定义资源ID中,例如:

 @+id/资源ID名         新建一个资源ID

 @id/资源ID名          应用现有已定义的资源ID,包括系统ID

 @android:id/资源ID名   引用系统ID,其等效于@id/资源ID名

 

 android:id="@+id/selectdlg"

 android:id="@android:id/text1"

 android:id="@id/button3" 

五 问题

先看下   http://blog.youkuaiyun.com/zfrong/article/details/7332545  
@android:type/name 是引用系统资源
现在a.jar中有xml资源。。。a.jar是第三方UI开发包。。。。。。自己项目中怎么引用? 

### 回答1: 关于xml中关于信息输入部分的布局文件的写法,可以采用如下示例: ```xml <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="请输入您的姓名:"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" android:hint="请输入您的姓名"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="请输入您的手机号码:"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="phone" android:hint="请输入您的手机号码"/> </LinearLayout> ``` 上述示例采用LinearLayout布局容器,内部包含两个TextView和两个EditText,分别用于显示提示信息和接收用户输入的信息。其中,android:layout_width和android:layout_height用于设置布局容器的宽度和高度,android:orientation用于设置子视图的排列方向,可以是水平或垂直方向。在EditText中,android:inputType用于设置输入的数据类型,如text表示文本类型,phone表示手机号码类型等。而android:hint用于设置输入框的提示信息,提醒用户输入相关内容。 ### 回答2: 在XML布局文件中,关于信息输入部分的布局应该如下编写: 首先,我们可以使用一个根布局视图来包含信息输入部分。常用的根布局视图可以是LinearLayout、RelativeLayout或者ConstraintLayout等,根据具体需求选择合适的布局。 在根布局视图下,可以使用一个TextView或者ImageView来显示输入信息的标题或图标。可以通过设置相应的属性,如文字大小、字体颜色、对齐方式等来美化标题或图标的显示效果。 接下来,我们可以使用一个EditText视图或者TextInputLayout视图来接收用户的输入。如果使用EditText视图,可以设置一些属性,如输入类型、最大长度、提示文字等。如果使用TextInputLayout视图,可以在其内部包含一个EditText视图,并设置一些属性,如提示文字、错误信息等,以增强用户输入体验。 如果需要添加更多的输入选项,可以继续在根布局视图中添加相应的输入控件,如RadioButton、CheckBox、Spinner等,根据具体需求设置这些控件的属性。 最后,如果需要添加一个按钮用于提交用户输入的信息,可以在根布局视图中添加一个Button或者ImageButton视图。通过设置相应的属性,如背景颜色、文字颜色、点击事件等来完成按钮的布局和功能。 这样,就完成了关于信息输入部分的布局文件的编写。通过合理的布局和属性设置,可以实现一个可视化友好的信息输入界面,提升用户体验。 ### 回答3: 在XML文件中,布局文件用于定义用户界面的结构和外观。在关于信息输入部分的布局文件编写中,通常可以使用以下的一些元素和属性: 1. 根元素:应该使用一个容器元素,比如LinearLayout、RelativeLayout或者ConstraintLayout作为根元素,在这个容器中放置其他的视图元素。 2. 输入元素:可以使用EditText元素用于接受用户的输入,可以设置其id、hint、text等属性来确定用户输入的样式和初始值。 3. 标签元素:可以使用TextView元素作为输入元素的标签,通过设置其text属性来显示标签的文本内容。 4. 按钮元素:可以使用Button或者其他的按钮元素作为提交用户输入的按钮,通过设置onClick属性来绑定对应的事件处理方法。 5. 布局参数:在布局文件中,可以设置元素的布局参数,比如使用layout_width和layout_height属性来确定元素的宽度和高度,使用layout_gravity属性来指定元素的位置等等。 6. 嵌套布局:如果需要更复杂的布局,可以使用嵌套布局来实现。比如可以在一个垂直方向的LinearLayout中再添加一个水平方向的LinearLayout来实现标签和输入元素的组合。 以上只是一些基本的布局方式,具体的布局文件的编写还应根据实际需求来决定。同时,可以使用布局预览工具来实时查看布局文件的效果,以便进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值