mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-17 08:35:37 -04:00
Add auto-scroll to LoggerView
This commit is contained in:
parent
22602d717a
commit
636fc0f9ed
@ -3,7 +3,9 @@ package com.kdt;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
import android.view.View;
|
||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
|
import android.widget.ScrollView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.ToggleButton;
|
import android.widget.ToggleButton;
|
||||||
|
|
||||||
@ -20,6 +22,8 @@ import net.kdt.pojavlaunch.R;
|
|||||||
*/
|
*/
|
||||||
public class LoggerView extends ConstraintLayout {
|
public class LoggerView extends ConstraintLayout {
|
||||||
private Logger.eventLogListener logListener;
|
private Logger.eventLogListener logListener;
|
||||||
|
private ToggleButton toggleButton;
|
||||||
|
private ScrollView scrollView;
|
||||||
private TextView log;
|
private TextView log;
|
||||||
|
|
||||||
|
|
||||||
@ -45,7 +49,7 @@ public class LoggerView extends ConstraintLayout {
|
|||||||
log.setVisibility(GONE);
|
log.setVisibility(GONE);
|
||||||
|
|
||||||
// Toggle log visibility
|
// Toggle log visibility
|
||||||
ToggleButton toggleButton = findViewById(R.id.content_log_toggle_log);
|
toggleButton = findViewById(R.id.content_log_toggle_log);
|
||||||
toggleButton.setOnCheckedChangeListener(
|
toggleButton.setOnCheckedChangeListener(
|
||||||
(compoundButton, isChecked) -> {
|
(compoundButton, isChecked) -> {
|
||||||
log.setVisibility(isChecked ? VISIBLE : GONE);
|
log.setVisibility(isChecked ? VISIBLE : GONE);
|
||||||
@ -57,10 +61,16 @@ public class LoggerView extends ConstraintLayout {
|
|||||||
ImageButton cancelButton = findViewById(R.id.log_view_cancel);
|
ImageButton cancelButton = findViewById(R.id.log_view_cancel);
|
||||||
cancelButton.setOnClickListener(view -> LoggerView.this.setVisibility(GONE));
|
cancelButton.setOnClickListener(view -> LoggerView.this.setVisibility(GONE));
|
||||||
|
|
||||||
|
// Set the scroll view
|
||||||
|
scrollView = findViewById(R.id.content_log_scroll);
|
||||||
|
|
||||||
// Listen to logs
|
// Listen to logs
|
||||||
logListener = text -> {
|
logListener = text -> {
|
||||||
if(log.getVisibility() != VISIBLE) return;
|
if(log.getVisibility() != VISIBLE) return;
|
||||||
post(() -> log.append(text));
|
post(() -> {
|
||||||
|
log.append(text);
|
||||||
|
scrollView.fullScroll(View.FOCUS_DOWN);
|
||||||
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
Logger.getInstance().setLogListener(logListener);
|
Logger.getInstance().setLogListener(logListener);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user