Fix important notice strip text layout
Bug: 10587358 Change-Id: I9cbdd3b450e05d6d0611a16b6b7fad945918dd5fmain
parent
9221772ab7
commit
9706f9a2f4
|
@ -52,9 +52,9 @@
|
|||
android:layout_height="match_parent">
|
||||
<TextView
|
||||
android:id="@+id/important_notice_title"
|
||||
android:layout_width="0dp"
|
||||
android:text="@string/important_notice_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1.0"
|
||||
android:textSize="14sp"
|
||||
style="?attr/suggestionWordStyle" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -502,11 +502,17 @@ final class SuggestionStripLayoutHelper {
|
|||
titleView.setTextColor(mColorAutoCorrect);
|
||||
TextViewCompatUtils.setCompoundDrawablesRelativeWithIntrinsicBounds(
|
||||
titleView, infoIcon, null, moreIcon, null);
|
||||
final CharSequence importantNoticeTitle = res.getText(R.string.important_notice_title);
|
||||
final CharSequence importantNoticeTitle = titleView.getText();
|
||||
titleView.setTextScaleX(1.0f); // Reset textScaleX.
|
||||
final float titleScaleX = getTextScaleX(importantNoticeTitle, width, titleView.getPaint());
|
||||
titleView.setText(importantNoticeTitle);
|
||||
titleView.setTextScaleX(titleScaleX);
|
||||
// When the suggestions strip is displayed first time, stripWidth may be zero.
|
||||
// Then importantNoticeTitle will be displayed as is without auto text scaleX.
|
||||
// TODO: Fix the logic to always have a correct value of stripWidth.
|
||||
if (width > 0) {
|
||||
// Auto text scaleX to show entire important notice title should be on the strip.
|
||||
final float titleScaleX = getTextScaleX(
|
||||
importantNoticeTitle, width, titleView.getPaint());
|
||||
titleView.setTextScaleX(titleScaleX);
|
||||
}
|
||||
}
|
||||
|
||||
static void setLayoutWeight(final View v, final float weight, final int height) {
|
||||
|
|
|
@ -220,6 +220,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
|
|||
return false;
|
||||
}
|
||||
|
||||
// TODO: This method should be called after this View has been attached and displayed.
|
||||
public void showImportantNoticeTitle() {
|
||||
mLayoutHelper.layoutImportantNotice(mImportantNoticeStrip, getWidth());
|
||||
mStripVisibilityGroup.showImportantNoticeStrip();
|
||||
|
|
Loading…
Reference in New Issue