Android的LevelListDrawable简单使用

Android  2020年6月27日 pm12:25发布4年前 (2020)更新 城堡大人
125 0 0

前言

LevelListDrawable是通过改变层级值来显示对应的图片,除了下面的开关灯,还有WiFi的状态显示,电池状态的显示也可以用这种。

在公司好像没发现有人使用过LevelListDrawable(或者我看代码太少了哈)。

自己懒得写了,摘抄一些网友写的,以便自己学习。

以下内容都是摘抄的。

LevelListDrawable的语法简介

<?xml version="1.0" encoding="utf-8"?>
<level-list
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@drawable/drawable_resource"
        android:maxLevel="integer"
        android:minLevel="integer" />
</level-list>

这必须是根元素。包含一个或多个<item>元素。

属性:

xmlns:android

字符串。必备。定义 XML 命名空间,其必须是 "http://schemas.android.com/apk/res/android"。

<item>

定义要在某特定级别使用的可绘制对象。

属性:

android:drawable

可绘制对象资源。必备。引用要插入的可绘制对象资源。

android:maxLevel

整型。此项目允许的最高级别。

android:minLevel

整型。此项目允许的最低级别。

LevelListDrawable的例子

一:在drawablw文件夹下:

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/lamp_on" //灯亮的图片
        android:minLevel="12"
        android:maxLevel="20"/>

    <item android:drawable="@drawable/lamp_off" //灯灭的图片
          android:minLevel="6"
          android:maxLevel="10"/>
</level-list>

二:布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <ImageView
        android:src="@drawable/bitmap"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/iv_drawable"/>

    <Button
        android:id="@+id/btn_on"
        android:text="light on"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <Button
        android:id="@+id/btn_off"
        android:text="light off"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

三:MainActivity

package com.example.kirito.myapplication.testdrawable;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

import com.example.kirito.myapplication.R;

/**
 * Created by kirito on 2016.10.31.
 */

public class TestDrawable extends AppCompatActivity implements View.OnClickListener{
    private Button on,off;
    private ImageView iv;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.testdrawable);

        on = (Button) findViewById(R.id.btn_on);
        off = (Button) findViewById(R.id.btn_off);
        on.setOnClickListener(this);
        off.setOnClickListener(this);
        iv = (ImageView) findViewById(R.id.iv_drawable);
        iv.setImageLevel(8);
    }

    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.btn_off){
            //设置的level值必须在6-10之间
            iv.setImageLevel(8);
        }else if (v.getId() == R.id.btn_on){
            //设置的level值必须在12-20之间
            iv.setImageLevel(18);
        }
    }
}

来源

  1. android levellistdrawable 基本使用
  2. LevelListDrawable

 历史上的今天

  1. 2024: TextView.setWidth()竟然失效了(0条评论)
  2. 2024: 老舍:理想的生活,不是房子车子票子(0条评论)
  3. 2023: JNI静态注册(0条评论)
  4. 2021: Android的apk组成结构(0条评论)
  5. 2021: 席慕容:独白(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

林徽因:一片阳光

放了假,春初的日子松弛下来。将午未午时候的阳光,澄黄的一片,由窗棂横浸到室内,晶莹地四处射。我有点发怔,习惯地在沉寂中惊讶我的周围。我望着太阳那湛明的体质,像要辨别它那交织绚烂的色泽,追逐它那不着痕迹的流动。看它洁净地映到书桌上时,我感到桌面上平铺着一种恬静,一种精神上的豪兴,情趣上的闲逸;即或所谓...

[摘]Android开发之Shape详细解读

这篇文章总结得很详细,因此摘抄于此,以便自己查询和学习。原文如下日常开发中,我们会遇到一些Button、Textview...等控件的背景是圆角矩形、圆形...等,和android默认的控件背景矩形不一致,此时shape的作用就体现出来了,我们可以根据shape属性画出很多我们意想不到的背景图...

史铁生:我与地坛[节选]

现在让我想想,十五年中坚持到这园子来的人都是谁呢?好像只剩了我和一对老人。十五年前,这对老人还只能算是中年夫妇,我则货真价实还是个青年。他们总是在薄暮时分来园中散步,我不大弄得清他们是从哪边的园门进来,一般来说他们是逆时针绕这园子走。男人个子很高,肩宽腿长,走起路来目不斜视,胯以上直至脖颈挺直不...

Android NDK配置简单记录

前言这里简单记录一下Android中使用DNK的配置,记录于此,方便自己查阅。流水账而已。环境:Windows11版本:android-ndk-r27-windows正文第一步如果没有下载就去官网《NDK 下载》下载吧,我这里下载当前最新的android-ndk-r27-windows...

林语堂:有丰富的心灵才有悠闲的生活

中国人之爱悠闲,有着很多交织着的原因。中国人的性情,是经过了文学的熏陶和哲学的认可。这种爱悠闲的性情是由于酷爱人生而产生,并受了历代浪漫文学潜流的激荡,最后又由一种人生哲学—大体上可称它为道家哲学—承认它为合理近情的态度。中国人能囫囵地接受这种道家的人生观,可见他们的血液中原有着道家哲学的种子。有...

常用的Monkey命令

Monkey的概念“猴子测试”是指没有测试经验的人甚至对计算机根本不了解的人(就像猴子一样)不需要知道程序的任何用户交互方面的知识,如果给他一个程序,他就会针对他看到的界面进行操作,其操作是无目的的、乱点乱按的。这种测试方式在产品周期中的早期阶段会找到很多很好的bug,为用户节省不少的时间。...