Lio*_*ior 33
是.
您可以创建一个AnimationDrawable,如所描述这里,然后用drawableLeft
你的按钮的XML标记(例如).像这样:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/your_background_drawable_resource"
android:drawableLeft="@drawable/your_animation_drawable_resource"
android:text="@string/your_text_res">
</Button>
Run Code Online (Sandbox Code Playgroud)
Lea*_*ira 27
我遇到了同样的问题,所以我为此创建了一个专门的按钮:LoadingProgressButton
包括这样的按钮:
<br.com.simplepass.loading_button_lib.CircularProgressButton
android:id="@+id/btn_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/circular_border_shape"
app:spinning_bar_width="4dp" <!-- Optional -->
app:spinning_bar_color="#FFF" <!-- Optional -->
app:spinning_bar_padding="6dp" <!-- Optional -->
Run Code Online (Sandbox Code Playgroud)
并像这样使用它:
CircularProgressButton btn = (CircularProgressButton) findViewById(R.id.btn_id)
btn.startAnimation();
[do some async task. When it finishes]
//You can choose the color and the image after the loading is finished
btn.doneLoagingAnimation(fillColor, bitmap);
[or just revert de animation]
btn.revertAnimation();
Run Code Online (Sandbox Code Playgroud)
sam*_*yte 25
是的...只需在Relative Layout中包含按钮和progressBar,就像这样......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:layout_gravity="right"
android:layout_alignTop="@+id/btnConnect"
android:layout_alignRight="@+id/btnConnect"
android:layout_alignEnd="@+id/btnConnect" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Connect"
android:id="@+id/btnConnect"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:width="200dp"
android:focusable="false"
android:focusableInTouchMode="false" />
</RelativeLayout>
<TextView
android:id="@+id/txtConnectStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btnConnect"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Status : Not connected"
android:textSize="12dp"
android:layout_gravity="center_horizontal" />
<LinearLayout
android:orientation="vertical"
Run Code Online (Sandbox Code Playgroud)
想发布样本图片,但我还没有足够的声誉...;)