以编程方式将圆形ProgressBar设置为可绘制到TextView的左侧

时间:2019-07-11 11:20:36

标签: android android-animation android-xml android-drawable android-progressbar

我有一个 progressbar_text TextView

<TextView  
 android:id="progressbar_text"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content" 
/>

custom_animated_shape.xml 如下:

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromDegrees="270"
        android:toDegrees="270">
    <shape
        android:innerRadius="20dp"
        android:innerRadiusRatio="2.5"
        android:shape="ring"
        android:thickness="5dp"
        android:useLevel="true">

        <gradient
            android:angle="0"
            android:endColor="@color/foo_color"
            android:startColor="@color/foo_color"
            android:type="sweep"
            android:useLevel="false"/>
    </shape>
</animated-rotate>

设置为:

progressbar_text.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.custom_animated_shape, 0, 0, 0)

不会工作

是否可以将循环进度栏设置为Left DrawableTextView

1 个答案:

答案 0 :(得分:-1)

尝试下面的代码,您可以将textview和progressbar包装在linearlayout内。

 <LinearLayout
                android:id="@+id/progress_layout"
                android:layout_width="match_parent"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="5dp"
                android:layout_height="20dp">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="20dp"
                    android:textColor="#000"
                    android:textSize="12sp"
                    android:gravity="center_vertical"
                    android:text="Progress bar at right."/>
                <ProgressBar
                    android:layout_width="wrap_content"
                    android:layout_height="20dp"
                    style="@android:style/Widget.ProgressBar.Small"
                    android:layout_marginRight="5dp" />
            </LinearLayout>