当我通过 TextAppearance 间接应用它时,为什么会忽略 `android:maxLines`
Why is `android:maxLines` ignored when I apply it indirectly via `TextAppearance`
为什么当我通过 TextAppearance
间接应用它时 android:maxLines
被忽略
<style name="TextAppearance.Footer">
<item name="android:ellipsize">end</item>
<item name="android:maxLines">1</item>
</style>
<style name="FooterButton">
<item name="android:layout_gravity">center</item>
<item name="android:textAppearance">@style/TextAppearance.Footer</item>
</style>
中看不到 textAppearance 限制
当我直接设置属性时有效:
<style name="FooterButton">
<item name="android:layout_gravity">center</item>
<item name="android:ellipsize">end</item>
<item name="android:maxLines">1</item>
</style>
你是对的。该文件没有规定任何限制。但鉴于它是 android 文档,它将缺少很多细节。从源代码中,可以通过 textAppearance
.
设置以下属性
int mTextColorHighlight = 0;
ColorStateList mTextColor = null;
ColorStateList mTextColorHint = null;
ColorStateList mTextColorLink = null;
int mTextSize = 0;
String mFontFamily = null;
Typeface mFontTypeface = null;
boolean mFontFamilyExplicit = false;
int mTypefaceIndex = -1;
int mStyleIndex = -1;
int mFontWeight = -1;
boolean mAllCaps = false;
int mShadowColor = 0;
float mShadowDx = 0, mShadowDy = 0, mShadowRadius = 0;
boolean mHasElegant = false;
boolean mElegant = false;
boolean mHasFallbackLineSpacing = false;
boolean mFallbackLineSpacing = false;
boolean mHasLetterSpacing = false;
float mLetterSpacing = 0;
String mFontFeatureSettings = null;
有 mStyleIndex,但它是文本样式 - bold
、italic
等
您必须通过 xml 中的 style
或 android:maxLines
进行设置。
作为选择的理由,我可以说行数不属于文本外观的标准,而是属于视图的样式。
为什么当我通过 TextAppearance
android:maxLines
被忽略
<style name="TextAppearance.Footer">
<item name="android:ellipsize">end</item>
<item name="android:maxLines">1</item>
</style>
<style name="FooterButton">
<item name="android:layout_gravity">center</item>
<item name="android:textAppearance">@style/TextAppearance.Footer</item>
</style>
中看不到 textAppearance 限制
当我直接设置属性时有效:
<style name="FooterButton">
<item name="android:layout_gravity">center</item>
<item name="android:ellipsize">end</item>
<item name="android:maxLines">1</item>
</style>
你是对的。该文件没有规定任何限制。但鉴于它是 android 文档,它将缺少很多细节。从源代码中,可以通过 textAppearance
.
int mTextColorHighlight = 0;
ColorStateList mTextColor = null;
ColorStateList mTextColorHint = null;
ColorStateList mTextColorLink = null;
int mTextSize = 0;
String mFontFamily = null;
Typeface mFontTypeface = null;
boolean mFontFamilyExplicit = false;
int mTypefaceIndex = -1;
int mStyleIndex = -1;
int mFontWeight = -1;
boolean mAllCaps = false;
int mShadowColor = 0;
float mShadowDx = 0, mShadowDy = 0, mShadowRadius = 0;
boolean mHasElegant = false;
boolean mElegant = false;
boolean mHasFallbackLineSpacing = false;
boolean mFallbackLineSpacing = false;
boolean mHasLetterSpacing = false;
float mLetterSpacing = 0;
String mFontFeatureSettings = null;
有 mStyleIndex,但它是文本样式 - bold
、italic
等
您必须通过 xml 中的 style
或 android:maxLines
进行设置。
作为选择的理由,我可以说行数不属于文本外观的标准,而是属于视图的样式。