android中的资源,资源与xml文件

android中的资源

在Android中,界面相关的资源,控件,图片,字符串等一般都放在xml文件中;

当然也可以完全通过代码实现,不用xml;


一般情况下,在xml中的资源,Android会自动生成一个R类,每个资源对应一个静态变量的id值;

Android的sdk的很多函数参数支持直接通过ID值应用;



Android SDK也会自带一些资源,通过 android.R类获取;



如果想把相关的ID值,转换为响应的对象变量,如: string的id,转换为 String的对象,一般通过 Resources类;

一般可以直接通过 Resources getResources()函数直接获取,然后在通过其相关的函数转换相关的id为相应的对象;



资源与xml文件

1:

上面已经说了,资源可以放到XML文件中;

这里还要强调一点:一个资源也可以对应一个单独的XML,如果就像一个Layout对应一个xml; 一个View也可以对应一个XML等等一样;


2:

在Android中,可以通过代码建立资源,也可以通过xml获取资源;

所以如果自己想要自定义一个类,如 MyLayout; classMyLayout extendsLinearLayout;

自己建立了一个MyLaout类,是LinearLayout的子类,当然可以通过代码设计MyLayout,但是也可以自己将MyLayout和一个自己新建的xml文件关联;

在工程上,右键,新建,XML,Layout XML;

然后将XML文件中的名称换做自己MyLayout的名称,注意,要保护包名,当然默认会提示你添加;


 




控件与xml文件

一般的控件如: TextView,可以完全通过代码生成到UI上,也可以通过tag标签在Layout的xml中添加,如:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.think.myapplication.MainActivity">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:id="@+id/textView""/>

</RelativeLayout>


通常在xml文件中点击"<",会自动弹出提示,要选择的tag标签,包括已有的SDK中的类,也包括自定义的类(如果自己定义了控件类);

然后选择类,然后设置控件类的相关属性,包括添加id等;

关于xml中控件的设置,对应用编写代码的理解,一般可以理解为(如上示例),创建了一个TextView对象,然后设置相关属性(这里这样理解比较合适);

                                                                                        也可理解为:继承一个TextView的新类,然后重写了一些UI显示(这个示例这么理解不太合适);


当然也可以重新单独生成一个xml文件,然后里面只写了一个TextView的设置,如MyTextView,这里可以理解为继承一个TextView的新类;可以通过多种方式获取这个view;


如果要在一个Layout的xml文件调用这个新的MyTextView,一般可以通过:

<include layout="@layout/MyTextView"/>  
这样就相当于MyTextView是一个新的控件类一样;



所以,一般自己写一个控件类,要像个关联xml,前面的标签一定是自己的类名(必须是完整的包含包名的类名);然后在设置相关属性;

















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chinabinlang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值