android 仿知乎可拖动悬停按钮
1.在工程根目录的build.gradle中添加依赖
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
2.在工程目录的build.gradle中添加依赖(查看最上面的版本号进行替换)
implementation 'com.github.XiaogegeChen:TrackView:2.1'
3.在xml中配置 ```
## 可配置的属性(请更新至最新版本)
app:inner_text 文字,可动态更改 app:inner_text_color 文字颜色 app:inner_text_size 文字尺寸,单位sp
app:inner_distance 是两个箭头之间的间距 app:inner_length 是每个箭头的边长 app:inner_stroke_width 是两个箭头的线条宽 app:blank_bottom 是底部留白的高度 app:blank_left 是左侧留白的高度 app:blank_right 是右侧留白的高度 app:blank_top 是顶部留白的高度 app:inner_content_color 是圆形内部的填充色 app:inner_stroke_color 是两个箭头的线条颜色 app:out_stroke_color 是外圆线条的颜色 app:out_stroke_width 是外圆线条的线宽
## 展开与闭合、动态更改文字
findViewById (R.id.open).setOnClickListener (new View.OnClickListener () {
@Override
public void onClick(View v) {
// 展开
trackView.open ();
}
});
findViewById (R.id.close).setOnClickListener (new View.OnClickListener () {
@Override
public void onClick(View v) {
// 闭合
trackView.close ();
}
});
findViewById (R.id.change).setOnClickListener (new View.OnClickListener () {
@Override
public void onClick(View v) {
// 动态更改文字
trackView.setText ("num:" + num);
num++;
}
}); ```
final TrackView trackView = findViewById (R.id.track_view);
trackView.setOnClickListener (new View.OnClickListener () {
@Override
public void onClick(View v) {
textView.setText ("WORLD");
Toast.makeText (MainActivity.this, "click", Toast.LENGTH_SHORT).show ();
}
});
可参考 仿知乎可拖动悬停按钮
v2.0 增加新功能:
v1.1
v2.1 优化: