Android Open Source - AndroidAppLog Log Text View






From Project

Back to project page AndroidAppLog.

License

The source code is released under:

Apache License

If you think the Android project AndroidAppLog listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package me.allenz.androidapplog;
/*from   w  w  w.j a v a2s .  c o m*/
import android.content.Context;
import android.graphics.Color;
import android.text.Editable;
import android.text.TextWatcher;
import android.text.method.ScrollingMovementMethod;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.ViewGroup.LayoutParams;
import android.widget.TextView;

public class LogTextView extends TextView {

  public LogTextView(final Context context) {
    super(context);
    setDefaultAttributes();
    setAutoScrolling();
  }

  public LogTextView(final Context context, final AttributeSet attrs) {
    super(context, attrs);
    setAutoScrolling();
  }

  public LogTextView(final Context context, final AttributeSet attrs,
      final int defStyle) {
    super(context, attrs, defStyle);
    setAutoScrolling();
  }

  private void setDefaultAttributes() {
    setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
        LayoutParams.MATCH_PARENT));
    setTextSize(TypedValue.COMPLEX_UNIT_SP, 10f);
    setBackgroundColor(Color.parseColor("#00ffffff"));
  }

  private void setAutoScrolling() {
    setGravity(Gravity.BOTTOM);
    setSingleLine(false);
    setKeyListener(null);
    setMovementMethod(ScrollingMovementMethod.getInstance());
    addTextChangedListener(new TextWatcher() {

      @Override
      public void onTextChanged(final CharSequence s, final int start,
          final int before, final int count) {
      }

      @Override
      public void beforeTextChanged(final CharSequence s,
          final int start, final int count, final int after) {
      }

      @Override
      public void afterTextChanged(final Editable s) {
        final int scrollAmount = getLayout().getLineTop(getLineCount())
            - getHeight();
        if (scrollAmount > 0) {
          scrollTo(0, scrollAmount);
        } else {
          scrollTo(0, 0);
        }
      }
    });
  }

  @Override
  public boolean dispatchTouchEvent(final MotionEvent event) {
    return false;
  }

}




Java Source Code List

me.allenz.androidapplog.AbstractAppender.java
me.allenz.androidapplog.AbstractLogger.java
me.allenz.androidapplog.AppenderSupportLogger.java
me.allenz.androidapplog.Appender.java
me.allenz.androidapplog.AsyncAppender.java
me.allenz.androidapplog.Configure.java
me.allenz.androidapplog.InternalLogger.java
me.allenz.androidapplog.LogCatAppender.java
me.allenz.androidapplog.LogEvent.java
me.allenz.androidapplog.LogLevel.java
me.allenz.androidapplog.LogTextView.java
me.allenz.androidapplog.LoggerConfig.java
me.allenz.androidapplog.LoggerFactory.java
me.allenz.androidapplog.Logger.java
me.allenz.androidapplog.PropertiesParser.java
me.allenz.androidapplog.ReflectUtils.java
me.allenz.androidapplog.Repository.java
me.allenz.androidapplog.RollingFileAppender.java
me.allenz.androidapplog.TextViewAppender.java
me.allenz.androidapplog.UncaughtExceptionLogger.java