首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

安卓入门-第三章-安卓常用控件的使用方式

它主要用于在界面上显示一段文本信息,比如你在第1章看到的“Hello world!”。下面我们就来看一看关于TextView的更多用法。...: 英文组合 中文含义 android:id 控件的唯一标识符,用于被活动以R文件属性的方式引用这个控件 android:layout_width 控件的宽度 android:layout_height...它可配置的属性和TextView是差不多的,所以下标就给出一个不同的属性设置方式: 英文组合 中文含义 android:textAllCaps=“false” 取消字体默认大写的设置  我们可以在activity_main.xml...,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。...学习这个控件需要提前准备好一些图片,图片通常都是放在以“drawable”开头的目录下的。

1.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    android开发之GestureDetector手势识别(调节音量、亮度、快进和后退)

    大家依照各自的需求改吧改吧…就可以 那么。就下来我将首先给大家分析分析怎样通过手势识别来调节音量、亮度、快键和后退需求! 一提到手势识别。...boolean onDown(MotionEvent e) { firstScroll = true;// 设定是触摸屏幕后第一次scroll的标志 return false; } 通过在...,避免在屏幕上操作切换混乱 // 横向的距离变化大则调整进度,纵向的变化大则调整音量 if (Math.abs(distanceX) >= Math.abs(distanceY...那之后的scroll事件都处理音量进度,直到离开屏幕运行下一次操作 if (GESTURE_FLAG == GESTURE_MODIFY_PROGRESS) { // distanceX...playingTime) + "/" + DateTools.getTimeStr(videoTotalTime)); } } // 假设每次触摸屏幕后第一次scroll是调节音量,那之后的

    2.5K30

    RxAndroid完全教程

    Rx是响应式编程的意思, 本质是观察者模式, 是以观察者(Observer)和订阅者(Subscriber)为基础的异步响应方式....下面我用对比的方式来介绍 Retrofit 的 RxJava 版 API 和传统版本的区别。 以获取一个 User 对象的接口作为例子。...为什么?因为这样做会影响性能。数据库的操作很重,一次读写操作花费 10~20ms 是很常见的,这样的耗时很容易造成界面的卡顿。所以通常情况下,如果可以的话一定要避免在主线程中处理数据库。...使用 RxBinding ,可以把事件监听用这样的方法来设置: Button button = ...; RxView.clickEvents(button) // 以 Observable 形式来反馈点击事件...然而,仅仅这一个形式的改变,却恰好就是 RxBinding 的目的:扩展性。通过 RxBinding 把点击监听转换成 Observable 之后,就有了对它进行扩展的可能。

    1.5K90

    信息提醒之对话框(AlertDialog + ProgressDialog)-更新中

    这3个设置对话框按钮的方法虽然可以调用多次,但是系统只以每一个方法最后一次调用的为准。...,也就是改方法的第三个参数,该参数不能设置为null,否则默认被选中的列表项无法置成未选中状态。...// 设置最大值 progressDialog.setMax(MAX_PROGRESS); // 设置暂停按钮 progressDialog.setButton...方法只能是handleMessage方法执行一次,要想以一定的时间间隔循环执行handleMessage方法,需要在handleMessage方法中调用sendEmptyMessageDelayed方法来设置...例如,使用sendMessageDelayed方法设置消息代码为1的消息在(50+)毫秒后调用handleMessage方法,可以利用这个消息代码删除该消息,这样系统就不会在(50+)毫秒之后调用handleMessage

    4.5K10

    自定义ProgressBar(一)

    通常用于向用户显示耗时操作完成的百分比。主要包括水平和圆形两种类型。讲解之前首先来讲一下样式属性设置,这个在自定义里面是核心部分。   ...本文主要介绍ProgressBar的属性里面的 progressDrawable 和 indeterminateDrawable 一、常用属性 (一)关于style属性设置:安卓支持几种风格的进度条...@android:style/Widget.ProgressBar.Small" 小环形进度条 style="@android:style/Widget.ProgressBar.Inverse" 普通大小的环形进度条...android:progressDrawable="" 设置进度条轨道对应的drawable对象 android:indeterminate="" 是否允许使用不确定模式,该属性设置为true,表示设置进度条不精确显示进度...,新建一个线程,重写runnable,在run方法里面去模拟执行耗时操作,通过handler发消息给主线程,主线程拿到消息之后更新UI.

    1.5K20

    鸿蒙应用开发从入门到入行 - 篇5:组件化开发思想开发鸿蒙案例(详解父子组件传值)

    如果需要改,可以分别通过backgroundColor(背景色)与 color(前景)改 Progress({ value: 3, total: 10, type: ProgressType.Ring...即可,代码如下@Link todoList: TodoModel[] = []解释为什么用 @Link修饰符因为在TodoMain里将来需要改变数组(例如侧滑删除等),需要同步给父组件(即Index),...item.finished } }解释:本方法需要传入被点的item以及被点的item的索引通过索引的方式改掉数组中这一项,文字不变,但是完成状态取反即可这时候可能有老铁有疑问:为什么不直接 item...但数组是第一层,因此你用数组[索引]的方式,就是在改第一层数据,这是能被监听到的此时需要把这个方法传递给TodoItem,因此TodoItem需要声明一个成员方法来接收export struct TodoItem...所以年度目标这个案例的剩余部分我在下一篇文章讲完,其中下一篇也会以需求驱动的方式为大家讲到很多干货新知识,请拭目以待!

    18910

    Android ImageView 正确使用姿势

    给定的长宽进行拉伸; 在ImageView中,可以同时设置src和background属性(为了减少绘制,可以根据使用场景来设置相应属性); 由于src中存放的是原图大小,如果需要对其缩放,就需要使用android...图3 ImageView构造函数 获取src设置的图片 setImageDrawable(Drawable d) 中调用 updateDrawable(Drawable d),而mDrawable 正是在...(3)在applyColorMod()中为什么使用Drawable.mutate()方法 直接引用Drawable.mutate()的JavaDoc: Make this drawable mutable...ScaleDrawable类是afc框架中提供了一个专门处理Drawable scale的类,在ImageView的ScaleType的基础上额外提供了11中裁剪方式: (1)CROP_CENTER (...java代码中设置ScaleDrawable.CROP_START属性 看到上述代码,有人可能觉得很疑惑,既然在java代码中设置了ScaleDrawable.CROP_START属性,为什么XML中还要设置

    2.4K80

    安卓开发个人小作品(3) – 多功能音乐播放器

    ,当前播放音乐的序号为0的时候,进行–操作之后那么会变成负数,所以,这里根据逻辑,处理为播放列表最后一曲,即设置序号为list.size()-1,形成一个环形。...int play_style = 0; 然后在我们的更改播放类型的按钮点击事件中,更改它的值,点击事件代码如下 imageview_playstyle.setOnClickListener(new View.OnClickListener...的时候,再取出来,用Base64将String转为drawable对象,在设置上去即可。...,我设置了四个主题,每个主题中,我都对attrs中定义的属性进行了具体的赋值,然后怎么使用呢,举个例子,比如我现在需要让popupwindow的背景色随主题改变而更换,那么在popupwindow的布局中...,便采用了这种方式,最后效果如下 看上去就像一个dialog,其实是一个activity,然后在这里根据用户的选择,来设置不同的主题,然后拿到主题的类型之后,在代码中根据这个值去判断应该显示哪个主题,

    1.7K30

    Android资源那些事儿

    如此,图片资源就和values资源一样,可以通过 @[:]drawable/文件名的方式在xml代码中被访问了。...不同的是,中的各个子项除了指定偏移量之外,还可以指定id属性。另外,根据官方说法: 默认情况下,所有可绘制项都会缩放以适应包含视图的大小。...例如,以下 定义缩放以适应其容器视图的项目: drawable="@drawable/image" /> 比如我们要让两个图标堆叠在一起并且在ImageView...调用ClipDrawable对象的setLevel(int level)方法可以设置截取区域的大小。level的范围在[0,10000]。...此时,我们会发现,非常尴尬的一幕发生了: ? 当左边按钮的背景色变黑之后,它上面文字的颜色却没有随之改变,用户体验肯定会大打折扣。

    87320

    Lottie : 让动画如此简单

    ,极大减少开发时间,实现不同的动画,只需要设置不同的动画文件即可,极大减少开发和维护成本。...,通过Airbnb的开源项目lottie-react-native实现; [1504855556048_5141_1504855558014.gif] 这是React logo的动画,以下以Android...FONT_PATH + fontFamily); return customFont; } }); 4.缓存动画 /* * Lottie内部有两个缓存map(强引用缓存,弱引用缓存),在动画文件加载完成后会根据设置的缓存策略缓存动画...拆分元素之后,根据动画需求,可以单独对图层或者图层中的元素做平移、旋转、收缩等动画。....jpg] 主要耗时在draw方法,绘制区域越小,耗时越小 六、K歌可用的场景 1.特性引导视频 全民K歌每个大版本的首次启动都会有视频引导动画,每次都会在清晰度和文件大小平衡,最终导出一个大概有

    29.4K136

    Anroid Wear OS 手表应用开发 - UI

    通过给操作栏设置 menu 文件,它会以列表的形式展示可操作项,布局中这么写: <android.support.wear.widget.drawer.WearableActionDrawerView...: 露出部分默认会显示操作栏第一项的图标,可以在布局中添加 app:showOverflowInPeek="true",让它显示竖直三个点的省略图标。...这样我们就可以在 layout_bottom_drawer 中设置自己想要的布局了,其他用法都和上面是一样的。...确认动画 当处理完某个业务之后,我们通常需要给用户一个处理成功或失败的提示,在 Wear OS 上,我们可以用一个 Activity 来展示确认动画。...: // 监听进度 circular_progress.setOnTimerFinishedListener { // TODO 进度完成 } // 设置进度总时间 circular_progress.totalTime

    2.6K30

    Bitmap的异步加载和缓存

    高效地加载大图 原始图片和最终显示它的View对应,一般要比显示它的View的大小要大,一些拍摄的照片甚至要比手机的屏幕分辨率还要大得多。...比如,在一个作为缩略图的大小为128x96的ImageView中加载1024x768的图片是完全没有必要的。...下面采取“绑定/关联”的方式来处理上面的并发问题,这里创建一个Drawable的子类AsyncDrawable,它设置给ImageView,同时它持有对应BitmapWorkerTask 的引用,所以在对...ImageView加载图片时,可以根据此AsyncDrawable来获取之前执行中的BitmapWorkerTask,之后取消它,或者在发现重复加载后放弃操作。...在选择LruCache要维护的缓存总大小时,下面时一些参考建议: 其余Activity或进程对内存的大小要求? 屏幕同时需要显示多少图片,多少会很快进入显示状态? 设备的大小和分辨率?

    1.9K50

    Android 加载图片占用内存分析

    五、图片的内存占用 1、静态图片不区分文件夹内存占用 仍然以宽高像素为:4896*6528=31961088的图片举例,图片原始大小为5.48M,图片资源放在res/drawable-nodpi/下面...因为我们要适配不同的机器。 仍然以vivo X21举例,x21的目标图片文件夹是res/drawable-xxdpi/,屏幕密度480dpi。...native,Java层的bitmap创建之后,实际上像素内存的分配是在native层直接调用calloc,所以其像素分配的是在native heap上, 这也是为什么8.0之后的Bitmap消耗内存可以无限增长...当你不设置宽、高的时候,图片就按照原始的像素大小进行了缓存。...为什么我们一般情况下感受不到A、B的差异 这是因为,网络图片也好、本地图片也好,像素都不会太大,以像素类型为RGB_8888为例,一个1920*1080的图片,在内存占据内存为1920*1080*4Byte

    2.4K20
    领券