码迷,mamicode.com
首页 > 移动开发 > 详细

Android 如何引用com.android.internal.R目录下的资源

时间:2016-01-20 17:16:35      阅读:6382      评论:0      收藏:0      [点我收藏+]

标签:

Android 如何引用com.android.internal.R目录下的资源

项目需求

有一个资源跟系统上的一个资源相同,想要引用它:frameworks/base/core/res/res/drawable/ic_text_dot.xml

文件名称:ic_text_dot.xml

文件的具体内容:

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2014 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:inset="10dp">
    <shape android:shape="oval">
        <solid android:color="?android:attr/textColorSecondary" />
        <size android:width="4dp" android:height="4dp" />
    </shape>
</inset>

该资源在代码中的引用是:com.android.internal.R.drawable.ic_text_dot

遇到的问题

但是不知道为什么,我在项目中用Java代码调用这个资源的时候,一直提示失败,无法找到目标:

        ImageView imageView = (ImageView) findViewById(R.id.img);
        imageView.setImageDrawable(getDrawable(com.android.internal.R.drawable.ic_text_dot));  
        //com.android.internal.R cannot be resolved to a variable

出现问题的原因

You cannot access id‘s of com.android.internal.R at compile time, but you can access the defined internal resources at runtime and get the resource by name.

解决的办法是:

        ImageView imageView = (ImageView) findViewById(R.id.img);
        imageView.setImageResource(Resources.getSystem().getIdentifier("ic_text_dot", "drawable", "android"));

参考:http://stackoverflow.com/questions/3486819/how-to-resolve-the-error-com-android-internal-r-cannot-be-resolved-when-i-usin

  

  

 

Android 如何引用com.android.internal.R目录下的资源

标签:

原文地址:http://www.cnblogs.com/zhou-guobao/p/5145714.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!