Android自定义View

Android 表单步骤显示进度控件

2021-07-16  本文已影响0人  遇见编程
allprojects {
    repositories {
        maven { url "https://jitpack.io" }
    }
}
  dependencies {
    compile 'com.github.VictorAlbertos:BreadcrumbsView:0.0.4'
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/ll_root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingTop="16dp"
    android:paddingRight="16dp"
    android:paddingBottom="16dp">

    <io.victoralbertos.breadcumbs_view.BreadcrumbsView
        android:id="@+id/breadcrumbs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        app:heightSeparator="1dp"
        app:nextStepBorderDotColor="#30FF9800"
        app:nextStepFillDotColor="#30FF9800"
        app:nextStepSeparatorColor="#30FF9800"
        app:numberOfSteps="5"
        app:radiusDot="5dp"
        app:sizeDotBorder="1dp"
        app:visitedStepBorderDotColor="#F57C00"
        app:visitedStepFillDotColor="#F57C00"
        app:visitedStepSeparatorColor="#F57C00" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal"
        android:weightSum="2">

        <Button
            android:id="@+id/bt_prev"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:backgroundTint="#F57C00"
            android:text="PREV"
            android:textColor="#ffffff" />

        <Button
            android:id="@+id/bt_next"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:backgroundTint="#F57C00"
            android:text="NEXT"
            android:textColor="#ffffff" />

    </LinearLayout>

</RelativeLayout>
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import io.victoralbertos.breadcumbs_view.BreadcrumbsView;

public class BreadActivity extends AppCompatActivity {

    private Integer cacheCurrentStep;
    private BreadcrumbsView breadcrumbsView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bread);
        if (onRetainCustomNonConfigurationInstance() == null) {
            cacheCurrentStep = 0;
        } else {
            cacheCurrentStep = (Integer) onRetainCustomNonConfigurationInstance();
        }

        breadcrumbsView = (BreadcrumbsView) findViewById(R.id.breadcrumbs);
        breadcrumbsView.setCurrentStep(cacheCurrentStep);

        findViewById(R.id.bt_next).setOnClickListener(new View.OnClickListener() {
            @Override public void onClick(View view) {
                if (breadcrumbsView.getCurrentStep()==4){
                    return;
                }
                breadcrumbsView.nextStep();
            }
        });

        findViewById(R.id.bt_prev).setOnClickListener(new View.OnClickListener() {
            @Override public void onClick(View view) {
                if (breadcrumbsView.getCurrentStep()==0){
                    return;
                }
                breadcrumbsView.prevStep();
            }
        });
    }

    //Survive config changes.
    @Override public Object onRetainCustomNonConfigurationInstance() {
        return breadcrumbsView.getCurrentStep();
    }
}
上一篇下一篇

猜你喜欢

热点阅读