diff --git a/app/src/main/java/com/gh/common/view/ExpendTextView.java b/app/src/main/java/com/gh/common/view/ExpendTextView.java index c9cbb31b06..7fa886deb6 100644 --- a/app/src/main/java/com/gh/common/view/ExpendTextView.java +++ b/app/src/main/java/com/gh/common/view/ExpendTextView.java @@ -12,36 +12,36 @@ import android.text.style.ClickableSpan; import android.util.AttributeSet; import android.view.View; -import com.gh.common.util.DisplayUtils; -import com.gh.gamecenter.R; - import androidx.appcompat.widget.AppCompatTextView; import androidx.core.content.ContextCompat; +import com.gh.common.util.DisplayUtils; +import com.gh.gamecenter.R; + public class ExpendTextView extends AppCompatTextView { - + private CharSequence mSnapshotText; - + private String mExpendText = "...全文"; - + private int mMaxLines = 3; // 由于sdk版本限制(getMaxLines) 这里设置默认值 - + private boolean mInitLayout = false; private boolean mOpenLayout = false; - + private ExpandCallback mExpandCallback; - + public ExpendTextView(Context context) { super(context); } - + public ExpendTextView(Context context, AttributeSet attrs) { super(context, attrs); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { mMaxLines = getMaxLines(); } } - + @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); @@ -51,35 +51,35 @@ public class ExpendTextView extends AppCompatTextView { showExpendButton(); } } - + public void setExpendText(String text) { this.mExpendText = text; } - + public void setExpandCallback(ExpandCallback callback) { this.mExpandCallback = callback; } - + @Override public void setText(CharSequence text, BufferType type) { mInitLayout = true; super.setText(text, type); } - + private void showExpendButton() { Layout layout = getLayout(); int start = layout.getLineStart(0); int lastLineEnd = layout.getLineEnd(mMaxLines - 1); int lastLineStart = layout.getLineStart(mMaxLines - 1); float lastLineRight = layout.getLineRight(mMaxLines - 1); - + int viewWidth = getWidth() - getPaddingRight() - getPaddingLeft(); - + TextPaint paint = getPaint(); float expendTextWidth = paint.measureText(mExpendText); CharSequence content = mSnapshotText.subSequence(start, lastLineEnd); if (viewWidth - lastLineRight > expendTextWidth) { - content = content.toString().trim() + mExpendText ; + content = content.toString().trim() + mExpendText; } else { CharSequence lastText = mSnapshotText.subSequence(lastLineStart, lastLineEnd); for (int i = lastText.length() - 1; i > 0; i--) { @@ -103,32 +103,32 @@ public class ExpendTextView extends AppCompatTextView { ds.setColor(ContextCompat.getColor(getContext(), R.color.theme)); ds.setUnderlineText(false); } - + @Override public void onClick(View widget) { mOpenLayout = true; setMaxLines(Integer.MAX_VALUE); setText(mSnapshotText); - + if (mExpandCallback != null) { mExpandCallback.onExpand(); } } - }, startPosition, msp.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + }, startPosition + 3, msp.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); msp.setSpan(new BackgroundColorSpan(Color.WHITE), startPosition, msp.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - + setText(msp); setMovementMethod(CustomLinkMovementMethod.getInstance()); } - - + + public void setExpendMaxLines(int maxLines) { mMaxLines = maxLines; setMaxLines(maxLines); } - + public interface ExpandCallback { void onExpand(); } - + } diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java index 0001f9c9d4..b674a60b31 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java @@ -167,6 +167,23 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable { @Override public void onDoubleTap() { EventBus.getDefault().post(new EBUISwitch(EB_MAIN_SCROLL_TOP, finalI)); + switch (finalI) { + case INDEX_HOME: + DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "首页"); + break; + case INDEX_GAME: + DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "游戏库"); + break; + case INDEX_ASK: + DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "问答"); + break; + case INDEX_DISCOVER: + DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "发现"); + break; + case INDEX_PERSONAL: + DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "我的光环"); + break; + } } }); } @@ -184,8 +201,11 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable { super.onPageChanged(index); switch (index) { + case INDEX_HOME: + DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar", "首页"); + break; case INDEX_GAME: - DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar", "游戏"); + DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar", "游戏库"); break; case INDEX_ASK: DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar", "问答");