显示两个进度的原因是因为屏幕适应分辨率的问题
解决方法是:首先需要在AndroidMinifest。xml中配置
<supports-screens
android:largeScreens="true"
android:smallScreens="true"
android:normalScreens="true"
android:anyDensity="true"
android:xlargeScreens="true"
android:resizeable="true"
/>
然后需要定义自己的样式:
<ProgressBar
android:id="@+id/voices_info_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:visibility="invisible"
style="@style/progressBar_sending"
/>
<style name="progressBar_sending" parent="android:style/Widget.ProgressBar">
<item name="android:indeterminateDrawable">@drawable/loading_anim</item>
<item name="android:maxHeight">15dip</item>
<item name="android:maxWidth">15dip</item>
<item name="android:minWidth">15dip</item>
<item name="android:minHeight">15dip</item>
</style>
<item name="android:maxHeight">15dip</item>
<item name="android:maxWidth">15dip</item>
<item name="android:minWidth">15dip</item>
<item name="android:minHeight">15dip</item>
这里最重要的是这几个属性,因为他们决定进度动画图片的大小。虽然设置了适应分辨率,但是图片大小不定的话同样会有两个样式出现。
loading_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" >
<item android:drawable="@drawable/jh01" android:duration="50" />
<item android:drawable="@drawable/a02" android:duration="50" />
<item android:drawable="@drawable/a03" android:duration="50" />
<item android:drawable="@drawable/a04" android:duration="50" />
<item android:drawable="@drawable/a05" android:duration="50" />
<item android:drawable="@drawable/a06" android:duration="50" />
<item android:drawable="@drawable/a07" android:duration="50" />
<item android:drawable="@drawable/a08" android:duration="50" />
<item android:drawable="@drawable/a09" android:duration="50" />
<item android:drawable="@drawable/a10" android:duration="50" />
<item android:drawable="@drawable/a11" android:duration="50" />
<item android:drawable="@drawable/a12" android:duration="50" />
</animation-list>
分享到:
相关推荐
在Android开发中,ProgressBar是一个非常常见的组件,用于展示任务的进度状态,比如数据加载、文件上传等。在本文中,我们将深入探讨如何实现一个自定义的ProgressBar,以及解决描述中提到的问题。 首先,我们理解...
在Android开发中,`Thread`和`ProgressBar`是两个非常重要的组件。`Thread`用于处理后台任务,避免因长时间操作导致应用主线程阻塞,从而提高用户体验。而`ProgressBar`则是用户界面(UI)中显示进度的一个可视化...
在Android开发中,ProgressBar是用户界面(UI)设计中一个重要的元素,用于向用户展示某个操作的进度,比如数据加载、文件下载等。本资源提供了一款自定义风格的圆形进度条源码,名为DotCircleView,这为开发者提供...
在Android应用开发中,这两个组件经常用于展示任务执行的进度或者让用户进行数值选择。这个项目的特别之处在于它将传统的水平进度条形式转换为了“井字”形状,从而在视觉上为用户带来了新颖的体验。 1. **井字...
文件名中的“Stu”可能是“Student”或“Study”的缩写,暗示这是一个学习项目或学生作品,其中可能包含了作者在实践中遇到的问题和解决方案。 总的来说,这个压缩包提供了一个研究和学习Android进度条自定义和...
总之,这个资源包为开发者提供了一站式的Android自定义进度条解决方案,可以帮助他们快速地在应用中实现各种酷炫的加载效果,提升用户界面的美观度和交互体验。开发者可以通过学习和借鉴这些代码,结合自身项目需求...
在Android开发领域,小程序是一种...通过实践这些小程序实例,初学者不仅可以掌握Android开发的基本概念,还能了解到实际项目中的常见问题和解决方案。不断练习和迭代,将有助于你快速成长为一名熟练的Android开发者。
在Android开发中,ProgressDialog是一个非常常用的组件,它用于在用户等待某个操作完成时显示一个进度条,给予用户反馈,提高用户...同时,随着Android版本的更新,开发者应关注API的变化,适时采用更现代的解决方案。
5. **Worker/BackgroundThread**: 对于Android P及以上版本,推荐使用WorkManager或JobScheduler,它们是现代异步任务处理的解决方案。尽管它们不是直接处理进度更新,但可以结合使用Handler或LiveData来传递进度...
在Android开发中,我们通常使用`ProgressBar`来显示进度或加载状态。然而,原生的`ProgressBar`动画可能不够平滑,无法满足一些高级UI设计的需求。`SmoothProgressDemo`项目则提供了一种解决方案,通过自定义View...
9. **SeekBar(滑动条)** 和 **ProgressBar(进度条)**:SeekBar允许用户通过拖动改变数值,而Progress Bar显示任务的完成进度。 10. **ToggleButton(切换按钮)**:一种开关控件,可处于开或关两种状态,常用于...
总之,"Circle-Progress-View圆形进度条"提供了一种自定义圆形进度条的解决方案,开发者可以根据自身需求进行调整和优化,以创建独特且吸引人的进度展示效果。在实际应用中,一定要注意代码的兼容性、性能优化以及...
因此,对于新项目,开发者应考虑使用`ProgressBar`或`Snackbar`等更现代的解决方案。 在`ProgressDialog-master`这个项目中,可能包含了对ProgressDialog的扩展和自定义实现,比如自定义主题颜色、动画效果、添加...
总结来说,"进度条源码"可能包含了一套实现线性进度条动画的解决方案,它可能利用Android的内置进度条控件、属性动画或者自定义View来实现。通过这样的代码,开发者可以创建出与Windows 7启动进度条相似的动态效果,...
"materialish-progress"项目提供了一个现成的解决方案,但需要注意的是,由于描述中提到的部分代码可能需要调整才能运行,所以在实际使用时,可能需要根据自己的项目需求进行适配和调试。对于Android开发者来说,...
自定义进度条通常涉及到对这两个组件外观和行为的修改。 1. **自定义样式**:在Android中,我们可以通过修改XML drawable文件来改变进度条的样式。例如,我们可以创建一个圆形或矩形的背景,然后设置一个条形的进度...
在"WaveView-master"项目中,开发者可能已经实现了对这两种效果的封装,提供了一种易于集成和定制的解决方案。这个项目可能包含了以下文件结构: 1. `src/main/java`: 包含自定义视图类,如`WaveView`和`...
- **Sqlite简介**:SQLite 是一种轻量级的嵌入式数据库引擎,被广泛应用于移动设备和桌面应用程序中,特别是在Android系统中作为默认的数据库管理解决方案。 - **主要特点**: - **轻量级**:无需单独的服务器进程...