我想在按钮内制作循环进度条。
但我不想使用像dmytrodanylyk/circular-progress-button, etc..
我认为此解决方案使用drawable
。
所以,我做circular_progress.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:duration="1"
android:toDegrees="360" >
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false" >
<size
android:height="48dip"
android:width="48dip" />
<gradient
android:centerColor="#f0f0f0"
android:centerY="0.50"
android:endColor="#000000"
android:startColor="#ffffff"
android:type="sweep"
android:useLevel="false" />
</shape>
</rotate>
和,
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Log In"
android:layout_below="@+id/passwordWrapper"
android:layout_marginTop="5dp"
android:theme="@style/AppTheme.SignButton"
android:id="@+id/loginButton"
android:drawableRight="@drawable/circular_progress"
/>
但是,进度条已停止。
第二个解决方案是使自定义按钮类具有进度条。
但我不知道要使自定义按钮类具有进度条。
答案 0 :(得分:6)
像你这样在你的按钮里面使用ProgressBar
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Log In"
android:layout_below="@+id/passwordWrapper"
android:layout_marginTop="5dp"
android:theme="@style/AppTheme.SignButton"
android:id="@+id/loginButton"
/>
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
并在您的活动中像这样初始化ProgressBar
ProgressBar progressBar = (ProgressBar) findViewById(R.id.progress_bar);
并在希望ProgressBar可见
时添加此项 progressBar.setVisibility(View.VISIBLE);
然后在要隐藏ProgressBar
时添加此项 progressBar.setVisibility(View.GONE);