首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android入门教程 | res资源目录简介与shape的绘制和使用

    res资源目录简介 简单介绍Android工程中的资源目录(resources),res。 Android里的资源指的是什么?...R类是自动生成的。代表resources。 分组资源类型 将各类资源放入项目 res/ 目录的特定子目录中。 子目录的名字特别重要。我们把不同的资源放到不同的子目录中。...其他 res/ 子目录中的 XML 资源文件会根据 XML 文件名定义单个资源,而 values/ 目录中的文件可描述多个资源。...当我们想给button或者TextView设定背景时,我们会想到纯色背景。如果要求圆角背景,或是渐变色背景,我们该如何实现呢? 一种办法是制作相应的美术素材,也就是切图。...[1240] 如果想要渐变色,再增加gradient的设置就好。 代码中使用资源 在java代码中使用资源,比如在activity中设置背景。

    2K20

    【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组

    字符串资源(values/string.xml), 颜色资源, 数组资源, 菜单资源等, 在Java代码中可以直接获取这些资源中的值; 2...., 该文件下的XML文件可以应用与 选项菜单, 子菜单, 上下文菜单等; -- res/raw : 存放原生资源, 与assets目录作用相同, 可以通过调用openRawResource(int)方法获取二进制输入流...整数, 颜色, 数组 信息的 XML文件的目录, 这些XML文件资源的根元素是resource; -- res/xml : 原生的XML文件, 可以使用 Resource.getXML()方法进行访问;...(), 获取AssetManager对象; //获取Resource资源, 这个方法在Activity中执行 Resources resources = getResources(); //...设置文本 textView.setText(array_int[position] + ". " + array_string[position]); //设置TextView的背景 字体

    1.2K40

    Android换肤原理和Android-Skin-Loader框架解析

    换肤介绍 换肤本质上是对资源的一中替换包括、字体、颜色、背景、图片、大小等等。当然这些我们都有成熟的api可以通过控制代码逻辑做到。...比如View的修改背景颜色setBackgroundColor,TextView的setTextSize修改字体等等。但是作为程序员我们怎么能忍受对每个页面的每个元素一个行行代码做换肤处理呢?...类的api,我们通常可以使用在资源文件中定义的@+idString类型,然后在编译出的R.java中对应的资源文件生产的id(int类型),从而通过这个id(int类型)调用Resources提供的这些...} } } 同样改方法也不支持外部调用,我们只能通过反射的方法来调用。...Window对象在创建的时候设置Factory,那么在Window中的View进行创建的时候就会先通过自己设置的Factory进行创建。

    5.9K20

    对于Android日夜间模式实现的探讨

    在本篇文章中给出了三种实现日间/夜间模式切换的方案: 使用 setTheme 的方法让 Activity 重新设置主题; 设置 Android Support Library 中的 UiMode 来支持日间...这种方案的思路很简单,就是在用户选择夜间模式时,Activity 设置成夜间模式的主题,之后再让 Activity 调用 recreate() 方法重新创建一遍就行了。...通过资源 id 映射,回调接口 第三种方法的思路就是根据设置的主题去动态地获取资源 id 的映射,然后使用回调接口的方式让 UI 去设置相关的属性值。...然后在 initTheme() 中去重新设置 UI 的相关颜色属性值。还有别忘了要在 onDestroy() 中移除 ThemeChangeListener 。...但是也需要调用 recreate() ,存在黑屏闪现的现象; 动态获取资源 id ,回调接口:该方法使用起来比前两个方法复杂,另外在回调的方法中需要设置每一项 UI 相关的属性值。

    2.6K20

    Android中的资源

    Android应用对这种情况做了很好的改进:比如将字符串资源、颜色资源、数组资源、菜单资源等都放到res目录中定义,然后在应用程序中直接使用这些资源中定义的值。...注意:​ Ø 系统不能直接从res目录中装载资源,并进行读写操作。 Ø 除了res/raw和res/assets目录中的资源外,其它资源目录中的资源在生成apk时都会被自动编译。...示例8.1​: 演示Android中系统资源的使用。 在程序布局文件中添加一个TextView,然后通过系统属性为这个TextView添加背景和文字。...A取0时表示完全透明,取255时表示不透明;R、G、B的取值越大,颜色越深。 颜色值也必须定义在res/values目录下的资源文件中。...在XML文件中可以通过如下语法格式来访问颜色资源中的值: @color/XXX 在Java文件中可以通过如下语法格式来访问颜色资源中的值: getResources().getColor(R.color.XXX

    1.3K10

    【Android 插件化】Hook 插件化框架 ( 加载插件包资源 )

    二、自定义 Application 中设置插件资源 三、插件 Activity 组件中设置插件资源 四、博客资源 前言 在 【Android 插件化】Hook 插件化框架 ( Hook Activity...addAssetPath 方法并调用 通过反射获取 AssetManager 的 addAssetPath 方法 , 方法的参数是 String 类型 ; 执行该方法 , 传入当前插件包 APK 的路径...(name, args); } catch (NoSuchMethodException e) { // 如果在本类中没有找到 , 就去遍历它的父类 , 尝试在父类中查找该方法...().getConfiguration() 二、自定义 Application 中设置插件资源 ---- 加载到插件资源后 , 重写 Application 的 public Resources getResources...组件中设置插件资源 ---- 在 Activity 中重写 public Resources getResources() 方法 , 核心是返回插件资源 ; @Override public

    74110

    安卓开发微信页面设计

    ) 中间内容页面 底部导航栏(bottom.xml) 所以我们需要编写上述几个xml布局页面,分别分析每部分的布局内容及要求:  顶部标题栏:此栏需有app的标题,标题大小颜色自定义且居中显示,背景色自选...Fragment实现 设计过程 1.资源文件导入  把图片等资源文件导入到/app/res/drawble 目录下 2.布局设计  此仿微信界面分为三部分,标题栏,中间内容页面,底部栏,故分部分进行设计...标题栏  添加一个TextView,填入文字,定义大小和颜色,设置背景颜色,有关于文字居中,我们要修改和添加一些配置信息。  ...背景颜色等颜色设置,都可以直接点击左边的小方块进行设置 App名称是通过调用values中的strings.xml里的值设置的 中间页面  主页面设置为四个界面,即四个xml布局文件...public class MainActivity extends AppCompatActivity implements View.OnClickListener 点击图标后颜色变化,此方法的方法体的开始需要一个

    1.4K40

    字节头条部Android二面:说一说Android动态换肤实现原理吧,答不上来下一个

    动态换肤步骤包括: 采集需要换肤的控件 加载皮肤包 替换资源 实现原理 首先Activity的onCreate()方法里面我们都要去调用setContentView(int id) 来指定当前Activity...我们只需要实现我们的Factory然后设置给mFactory2就可以采集到所有的View了,这里是一个Hook点。 当我们采集完了需要换肤的view,下一步就是加载皮肤包资源。...当我们拿到当前View的资源名称时就会先去皮肤插件中的资源文件里找 Android加载资源的流程图: image.png 1.采集换肤控件 android解析xml创建view的步骤: setContentView...所以我们复写了Factory的onCreateView之后,就可以不通过系统层而是自己截获从xml映射的View进行相关View创建的操作,包括对View的属性进行设置(比如背景色,字体大小,颜色等)以实现换肤的效果...); AssetManager有一个addAssetPath方法可以指定资源的位置,可惜这个也只能用反射来调用 Method addAssetPath = assetManager.getClass()

    2.5K00

    android的Drawable详解

    >//设置区域背景的渐变效果 //设置区域的背景颜色,如果设置了solid会覆盖gradient的效果 //设置区域的边框效果...SDK会在编译工程时对点九图片进行编译,形成特殊格式的图片。...使用代码创建NinePatchDrawable时只能针对编译过的点九图片资源,对于没有编译过的点九图片资源都当做BitmapDrawable对待。...使用起来也非常简单,在xml文件中使用animation-list作为根节点定义AnimationDrawable,使用item设置需要播放的每一帧使用的drawable资源,以及每一帧持续的时间即可。...AnimationDrawable的start播放动画,需要注意的是,当我们在Activity的oncreate方法中调用start方法时会没有任何效果,那是因为view还没有完成初始化,所以正确的使用方法是

    1.2K50

    常用控件之Button详解

    Android系统会调用Activity的自定义(视图)方法。...状态列表可绘制是在XML中定义的可绘制资源,它根据按钮的当前状态更改其图像。一旦定义了一个可以用XML绘制的状态列表,就可以将它应用到具有 android:background属性的按钮上。...1.设置背景图 方法一:在xml布局里直接设置背景图 ?...方法二:在Java代码里给 button设置背景色( setBackgroundColor中以下两种方法任意一种即可) btnClickMe.setBackgroundColor(getResources...) stroke:描边属性,可以定义描边的宽度,颜色,虚实线等( width描边的宽度、 color描边的颜色) 方法一:在xml布局里直接设置自定义 shape背景,如果想给按钮内部文字设置边距还可以自己设置

    1.8K10

    小程序性能优化的独家实战技巧

    预加载数据在小程序启动或者页面即将展示的时候,提前通过 API 调用等方式获取数据,这样当页面真正展示时,数据已经准备好,可以直接渲染。...首先尝试从本地缓存中读取城市列表数据(通过my.getStorage方法,key为cityListCache)。...虚拟列表技术只渲染当前视口可见的数据项,当用户滚动列表时,动态更新渲染的数据,大大提高了页面渲染性能。在支付宝小程序中,我们可以借助一些第三方库来实现虚拟列表,例如@antv/f2库。...假设页面中有一个view元素,我们需要同时修改它的宽度、高度和背景颜色:Page({ onLoad: function(...通过设置view.style.cssText属性,一次性将宽度、高度和背景颜色等样式修改完成,这样只触发一次重排和重绘,相比分别修改每个样式属性,大大提高了性能。

    64510

    《移动互联网技术》第六章 资源管理: 掌握定制控件样式、界面主题、可绘制资源程序的编写方法

    比如:添加一个定制的按钮样式,设置不同的文本颜色和背景颜色。 \res\values\styles.xml 定义好样式以后,就可以在布局文件的按钮定义中使用新的样式。...在按钮的属性里设置style属性值为定制按钮样式。按钮就会按照定义的文本和背景颜色来显示。...第一个item显示按钮的红色背景,第二个item设置一个更大的圆形,颜色设置为深红色。最后,把这样两种不同的显示效果叠加在了一起。...答案:在Android中不能直接打开res/raw目录中的数据库文件,而需要在程序第一次启动时将该文件复制到手机内存或SD卡的某个目录中,然后再打开该数据库文件。...复制的基本方法是使用getResources( ).openRawResource方法获得res/raw目录中资源的InputStream对象,然后将该InputStream对象中的数据写入其他的目录中相应文件中

    61710

    Bitmap图片压缩,大图加载防止OOM

    根据您的图片数据源选择最合适的解码方法。这些方法尝试为构造的位图分配内存,因此很容易导致 OutOfMemory 异常。...在解码时将inJustDecodeBounds 属性设置为 true 可避免内存分配,为位图对象返回 null,但设置 outWidth、outHeight 和 outMimeType。...之后,每当您引用@drawable/xxx时,系统都会根据屏幕的 dpi 选择适当的位图。如果您没有为某个密度提供特定于密度的资源,那么系统会选取下一个最佳匹配项并对其进行缩放以适合屏幕。...BitmapFactory.Options三件套 inScaled + inDensity + inTargetDensity 当inScaled设置为true时(设置此标志时),如果inDensity...当原始图像很大且只需要部分图像时,BitmapRegionDecoder 尤其有用。 要创建 BitmapRegionDecoder,请调用 newInstance() 。

    3.4K00

    Bitmap图片压缩,大图加载防止OOM

    根据您的图片数据源选择最合适的解码方法。这些方法尝试为构造的位图分配内存,因此很容易导致 OutOfMemory 异常。...在解码时将inJustDecodeBounds 属性设置为 true 可避免内存分配,为位图对象返回 null,但设置 outWidth、outHeight 和 outMimeType。...之后,每当您引用@drawable/xxx时,系统都会根据屏幕的 dpi 选择适当的位图。如果您没有为某个密度提供特定于密度的资源,那么系统会选取下一个最佳匹配项并对其进行缩放以适合屏幕。...BitmapFactory.Options三件套 inScaled + inDensity + inTargetDensity 当inScaled设置为true时(设置此标志时),如果inDensity...当原始图像很大且只需要部分图像时,BitmapRegionDecoder 尤其有用。 要创建 BitmapRegionDecoder,请调用 newInstance() 。

    2.6K20
    领券