Android imageview对齐圆形进度条的中心

时间:2017-03-11 13:20:18

标签: android

我修复了marginTop,以便该图像可以显示在循环进度条内。但是当我使用带有更大显示器的手机时,图像不再放在圆形条内,并且它与进度条重叠。我知道这可能是marginTop的原因,但是如何将图像放在进度条中并让它成为进度条的中心?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  android:layout_centerInParent="true"
  tools:context="com.example.mygames.MainActivity$PlaceholderFragment">

<ProgressBar

    android:id="@+id/circularProgressbar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="350dp"
    android:layout_height="750dp"
    android:indeterminate="false"
    android:max="100"
    android:progress="50"
    android:progressDrawable="@drawable/circular"
    android:secondaryProgress="100"
    android:layout_marginBottom="110dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<ImageView
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:background="@drawable/whitecircle"
    android:id="@+id/imageView3"
    android:layout_alignTop="@+id/tv"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="50dp" />

<TextView
    android:id="@+id/tv"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:gravity="center"
    android:text="25%"
    android:textColor="#ffffff"
    android:textSize="35sp"
    android:textStyle="bold"
    android:layout_marginBottom="57dp"
    android:layout_alignBottom="@+id/circularProgressbar"
    android:layout_centerHorizontal="true" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="16dp"
    android:textSize="20sp"
    android:text="Progress" />


</RelativeLayout>

我的dimen.xml

<resources>
 <!-- Default screen margins, per the Android Design guidelines. -->
 <dimen name="activity_horizontal_margin">16dp</dimen>
 <dimen name="activity_vertical_margin">16dp</dimen>
 <dimen name="fab_margin">16dp</dimen>
 <dimen name="appbar_padding_top">8dp</dimen>
</resources>

2 个答案:

答案 0 :(得分:0)

转到此库。您可以替换浮动按钮上的图像。

https://github.com/JorgeCastilloPrz/FABProgressCircle.git

JorgeCastilloPrz很好地完成了。

希望这有帮助。

答案 1 :(得分:0)

可以通过创建自定义UI组件并在运行时动态设置尺寸来实现所需的行为。作为参考,您可以查看以下库。 https://github.com/erharishsh/progressbar-with-image

enter image description here