Change the style of single comment level indicator.

This commit is contained in:
Alex Ning 2021-05-15 00:21:31 +08:00
parent b21eb89271
commit b9a2a1adea
2 changed files with 12 additions and 9 deletions

View File

@ -43,22 +43,22 @@ android {
dependencies {
/** AndroidX **/
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.biometric:biometric:1.2.0-alpha01'
implementation 'androidx.biometric:biometric:1.2.0-alpha03'
implementation 'androidx.browser:browser:1.3.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
def lifecycleVersion = "2.2.0"
def lifecycleVersion = "2.3.1"
implementation "androidx.lifecycle:lifecycle-livedata:$lifecycleVersion"
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycleVersion"
annotationProcessor "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion"
implementation 'androidx.paging:paging-runtime:2.1.2'
implementation 'androidx.paging:paging-runtime:3.0.0'
implementation 'androidx.preference:preference:1.1.1'
def roomVersion = "2.2.6"
def roomVersion = "2.3.0"
implementation "androidx.room:room-runtime:$roomVersion"
annotationProcessor "androidx.room:room-compiler:$roomVersion"
implementation 'androidx.work:work-runtime:2.4.0'
implementation 'com.google.android.material:material:1.3.0-rc01'
implementation 'androidx.work:work-runtime:2.5.0'
implementation 'com.google.android.material:material:1.4.0-beta01'
implementation "androidx.viewpager2:viewpager2:1.1.0-alpha01"
/** ExoPlayer **/

View File

@ -21,7 +21,7 @@ public class CommentIndentationView extends LinearLayout {
private Integer[] colors;
private ArrayList<Integer> startXs;
private final int spacing;
private final int pathWidth;
private int pathWidth;
private boolean showOnlyOneDivider = false;
public CommentIndentationView(Context context, @Nullable AttributeSet attrs) {
@ -53,7 +53,7 @@ public class CommentIndentationView extends LinearLayout {
if (showOnlyOneDivider) {
if (startXs.size() > 0) {
paint.setColor(colors[(startXs.size() - 1) % 7]);
canvas.drawLine(startXs.get(startXs.size() - 1), 0, startXs.get(startXs.size() - 1), getHeight(), paint);
canvas.drawLine(level * pathWidth, 0, level * pathWidth, getHeight(), paint);
}
} else {
for (int i = 0; i < startXs.size(); i++) {
@ -89,7 +89,7 @@ public class CommentIndentationView extends LinearLayout {
this.colors = colors;
this.level = level;
if (level > 0) {
int indentationSpacing = level * spacing + pathWidth;
int indentationSpacing = showOnlyOneDivider ? pathWidth * level : level * spacing + pathWidth;
setPaddingRelative(indentationSpacing, 0, pathWidth, 0);
} else {
setPaddingRelative(0, 0, 0, 0);
@ -99,6 +99,9 @@ public class CommentIndentationView extends LinearLayout {
public void setShowOnlyOneDivider(boolean showOnlyOneDivider) {
this.showOnlyOneDivider = showOnlyOneDivider;
if (showOnlyOneDivider) {
pathWidth = (int) Utils.convertDpToPixel(4, getContext());
}
}
private static class SavedState extends BaseSavedState {