English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Android-kundenspezifischer Control zur Implementierung dynamischer festgelegter Bereichseffekte

Lassen Sie uns zunächst den Effekt betrachten:

1. Schritt zur Hinzufügung von Abhängigkeitsbibliotheken

1.Änderungen im Gradle-Projektdatei vornehmen

allprojects {
  repositories {
   ...
   maven { url "https://jitpack.io" }
  }
 }

2.Fügen Sie die neueste Version der Abhängigkeitsbibliothek hinzu, die neueste Version wie rechts gezeigt, ändern Sie einfach die Version am Ende (da ich manchmal die Version aktualisiere und vergesse, das readme zu ändern)

dependencies {
   compile 'com.github.Brioal:BrioalSetting:'1.0'
   ////Zum Beispiel ist die neueste Version wie oben gezeigt1.1, dann müssen Sie nur1.0 in1.1können Sie die neueste Version verwenden
 }

Zwei. Verwendungsanweisungen:

1.xml-Layoutdatei

Während der tatsächlichen Verwendung wurde festgestellt, dass bei Verwendung mit anderen Komponenten die Wischereignisse deaktiviert werden, es wurde暂时 noch nicht herausgefunden, wie dies im Code gelöst wird, das Setzen von Focus und dergleichen hat nicht funktioniert, eine vorläufige Lösung ist, einem Komponenten einen übergeordneten Layout hinzuzufügen und keine anderen Komponenten zu enthalten, wie folgt:

<LinearLayout
  android:id="@"+id/layout"
android:layout_centerInParent="true"
  android:layout_width="match_parent"
  android:layout_height="wrap_content">
  <com.brioal.rangeseek.view.RangeBar
   android:id="@"+id/main_container"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_centerInParent="true"/>
 </LinearLayout>

2.Kodestellung

mRangeBar = (RangeBar) findViewById(R.id.main_container);
   //Fügen Sie die Datenquelle hinzu
  final List<RangeEntity> list = new ArrayList<>();
  //Die anzuzeigenden Texte und tatsächlichen Werte sind String und Object-Typen
  list.add(new RangeEntity("15℃", 15));
  list.add(new RangeEntity("18℃", 18));
  list.add(new RangeEntity("21℃", 21));
  list.add(new RangeEntity("24℃", 24));
  list.add(new RangeEntity("27℃", 27));
  list.add(new RangeEntity("30℃", 30));
  //Setzen Sie die Datenquelle
  mRangeBar.setValues(list);
  //Fügen Sie einen Bereichsänderungshörer hinzu
  mRangeBar.addOnRangeChangedListener(new OnRangeChangedListener() {
   @Override
   public void selected(int startIndex, int endIndex) {
   //获取到的是起始和终止的数据在List中所对应的下标
    mTvMin.setText(list.get(startIndex).getValue()) + ");"
    mTvMax.setText(list.get(endIndex).getValue()) + ");"
   }
  });

3.提供的供自定义视图的方法

方法 功能
void addOnRangeChangedListener(OnRangeChangedListener listener) 设置事件监听器
void setLineColor(int lineColor) 设置中间的线条颜色
void setLineWidth(int lineWidth) 设置中间的线条宽度
void setCircleColor(int circleColor) 设置圆点的边框颜色
void setCircleRadius(int circleRadius) 设置圆点的半径
void setCircleWidth(int circleWidth) 设置圆点的线条宽度
void setCenterColor(int centerColor) 设置选中的圆点的填充颜色
void setPointColor(int pointColor) 设置游标的填充颜色
void setStartIndex(int startIndex) 设置选中的起始下标
int getStartIndex() 获取选中的起始下标
void setEndIndex(int endIndex) 设置终止下标
int getEndIndex() 获取终止的下标

总结

以上就是这篇文章的全部内容,希望本文能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

Gefällt mir