自定义进度条不适合在具有不同分辨率和密度的屏幕上

时间:2013-08-14 05:05:19

标签: android android-layout

您好我遇到了问题,需要一些专家建议。我有一个自定义循环进度参数,其边界在我的闪屏中作为动画灯旋转

看起来像这样:

enter image description here

边界灯持续旋转,直到有闪光屏幕。

现在,我的启动画面有一个背景图像,在图像的上半部分有一个圆形绘图:

看起来像这样:

enter image description here

现在我的圆形进度条应该适合该背景圆圈边界。无论我做什么,一些电话屏幕都失败了(圆圈放错了地方)。

我如何适应背景圈,它可以适用于所有手机和平板电脑。

如果需要进一步澄清,请告诉我。

这就是我定义循环进度条的方式:

<?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/my_splash_screen"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/splashscreen" /> 


   <ProgressBar
       android:id="@+id/progress"
       style="?android:attr/progressBarStyleLarge"
       android:layout_width="170dp"
       android:layout_height="170dp"
       android:layout_centerHorizontal="true"
       android:layout_centerVertical="true"

       android:indeterminateDrawable="@drawable/my_progress_indeterminate"
       android:visibility="visible"/> 

</RelativeLayout>

3 个答案:

答案 0 :(得分:0)

我认为您需要更改style属性并设置android:layout_width="match_parent"。问题是您将样式设置为大型,默认情况下其大小是预定义的。您还可以在宽度和高度属性中调整其大小。所以这可能就是问题所在。

答案 1 :(得分:0)

尝试使用HoloCircular ProgressBar是适用于Android的自定义视图实现。

查看可能对您有所帮助的HoloCircular ProgressBar

您可以使用的其他库如下:

1)Progress Wheel

2)ProgressBar

3)Customize the Spinner

感谢。

答案 2 :(得分:0)

这个链接帮助我在一定程度上解决了这个问题,因为它现在支持大多数设备。我仍然可以得到问题的一般解决方案。但我可以认为这是答案:

Application Skeleton to support multiple screen