当前位置: 首页 > 知识库问答 >
问题:

进度条(圆)不旋转在Android

刁璞
2023-03-14

当我的数据从启动屏幕的数据库加载时,我正在使用进度条(圆圈)。我使用了xml中的进度条,使用了它的标记。。。但在活动中,它并不旋转。。。建议帮助。。怎么了?

xml:



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

            <ImageView
                android:id="@+id/imgLogo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:background="@drawable/splash" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/loading"
                android:layout_centerHorizontal="true"
                android:gravity="center_horizontal"
                android:text="Loading data..."
                android:visibility="visible"
                android:textAppearance="?android:attr/textAppearanceLarge" />

           <ProgressBar
            android:id="@+id/loading"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="92dp"
            android:gravity="center"
            android:indeterminateDrawable="@drawable/custom_bar" />
    </RelativeLayout>

    Java: 

    public class SplashScreen extends Activity {
        static String DATABASE_NAME = "ItemDB";
        static DBACESS mDbAccess = null;
        public static SQLiteDatabase mDB;
        public static ListItems objitem;
        private static int SPLASH_TIME_OUT = 100;
        private PackageManager packageManager = null;
        static DataEntryClass data = new DataEntryClass();
        static List<ItemClass> item_table;
        ProgressBar progressBar;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
            setContentView(R.layout.activity_splash);
            progressBar = (ProgressBar) findViewById(R.id.loading);
            // ////////////////////////
            /////////////////////////
            CheckConnectionState(getApplicationContext());
            packageManager = getPackageManager();

            if (objitem == null)
                objitem = new ListItems(getApplicationContext(), mDB);

            if (!objitem.ItemsExist(mDB))
                try {
                    data.addItems(getApplicationContext());
                } catch (Exception e) {
                    // TODO: handle exception
                }

            new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {

                    data.getNewUpdates(getApplicationContext(), packageManager);
                    item_table = new ArrayList<ItemClass>();
                    item_table = objitem.LoadItems(mDB);

                    Intent i = new Intent(SplashScreen.this, TabActivity.class);
                    startActivity(i);

                    // close this activity
                    finish();
                }
            }, SPLASH_TIME_OUT);
        }



        public static void CheckConnectionState(Context ct) {
            try {

                if (mDB == null || !mDB.isOpen()) {
                    DBACESS.DATABASE_NAME = DATABASE_NAME;
                    mDbAccess = new DBACESS(ct);
                    mDB = mDbAccess.getReadableDatabase();
                }
            } catch (Exception e) {

            }
        }
    }

custom_bar.xml:
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360"
android:repeatCount="infinite"
android:drawable="@drawable/menu" >
</rotate> 

共有3个答案

景鸿才
2023-03-14
 <ProgressBar
        android:indeterminateDrawable="@drawable/loader4_progress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:layout_marginTop="5dp"
        />

创建一个可绘制的xml加载程序4_progress

 <?xml version="1.0" encoding="utf-8"?>
<rotate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/spinner"
    android:duration="1"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="1080"
    />

有关更多详细信息,请查看此http://custom-android-dn.blogspot.in/2013/01/how-to-create-custom-progress-bar-and.html如何在Android中定制进度条

江文斌
2023-03-14

对于旋转图像,您可以使用custom_progress_bar.xml内绘图文件夹

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360"
android:drawable="@drawable/gif_loader_img1" >
</rotate> 

设置drawable to progressbar

   <ProgressBar
    android:id="@+id/progressBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true" 
    android:indeterminate="true"
    android:indeterminateDrawable="@drawable/custom_progress_bar"/>
牛智志
2023-03-14

这个问题由来已久,但还有另一个考虑。要找到开发人员设备的错误非常容易,也非常困难。

只需确保你的动画在开发者选项中处于活动状态。激活以下选项:

Window animation scale: Animation scale 1x
Transition animation scale: Animation scale 1x
Animator duration scale: Animation scale 1x
 类似资料:
  • 本文向大家介绍Android带进度的圆形进度条,包括了Android带进度的圆形进度条的使用技巧和注意事项,需要的朋友参考一下 我们还是用一个小例子来看看自定义View和自定义属性的使用,带大家来自己定义一个带进度的圆形进度条,我们还是先看一下效果吧 从上面可以看出,我们可以自定义圆环的颜色,圆环进度的颜色,是否显示进度的百分比,进度百分比的颜色,以及进度是实心还是空心等等,这样子是不是很多元化很

  • CircleProgress 圆形进度条 内部实现 组件内部通过canvas实现,有更好的性能和通用性。 平台差异说明 App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序 √ √ √ √ √ √ √ 基本使用 通过percent设置当前的进度值,该值区间为0-100 通过active-color设置圆环的颜色,也可以直接设置type主题颜色,使用预置值 通过默认slot传入

  • 本文向大家介绍Android自定义水平进度条的圆角进度,包括了Android自定义水平进度条的圆角进度的使用技巧和注意事项,需要的朋友参考一下 平时项目中经常用到自定义进度条样式,我们一般实现的也是下面的第一种,至于第二种的圆角进度,网上介绍的资料也不是很多,这里一起展示一下这两种的实现。 下面开始看代码,先从主界面布局开始看起: 两个进度条布局,然后是不同的progressDrawable布局:

  • 本文向大家介绍Android实现带数字的圆形进度条(自定义进度条),包括了Android实现带数字的圆形进度条(自定义进度条)的使用技巧和注意事项,需要的朋友参考一下 开发 设计搞了一个带圆形进度的进度条,在GitHub上逛了一圈,发现没有,自己撸吧。 先看界面效果: 主要思路是写一个继承ProgressBar的自定义View,不废话,直接上代码: 使用 在布局文件中加入: progress_re

  • 我有一个2F长度的柱面,和RotX和RotZ的数据,由用户给出。我也知道我的圆柱体的“底”在(0,0,0)(形成“底”的圆心) 我需要的是计算“顶”点(另一端的圆心),在上面的线条中暴露数据。 在我的第二幅图像中,A点计算如下(sin(zAngle),cos(zAngle),sin(xAngle),zAngle=pi/4(alpha角)和xAngle=0。 点B计算为(sin(xAngle),co

  • 本文向大家介绍Android动态自定义圆形进度条,包括了Android动态自定义圆形进度条的使用技巧和注意事项,需要的朋友参考一下 效果图: A.绘制圆环,圆弧,文本 B.自定义属性的具体步骤 具体步骤: 1. 定义属性: 在values目录下创建attrs.xml 2. 在布局文件中引用当前应用的名称空间 3. 在自定义视图标签中使用自定义属性 4. 在自定义View类的构造方法中, 取出布局中