私のテストでは、API 21 未満の Android バージョンの問題のように見えます。次のように解決しました。
私の場合TextView
、最後に楕円サイズを持つ最大 2 行の a を使用します。
TextView
api 21 より前のスタイル( values/style.xml
)
<style name="MyTextViewStyle" parent="Base.TextAppearance.AppCompat">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:gravity">left</item>
<item name="android:textColor">@color/blue_dark</item>
<item name="android:textSize">16sp</item>
<item name="android:maxLines">2</item>
<item name="android:ellipsize">end</item>
<item name="android:lineSpacingExtra">-4dp</item>
<item name="android:paddingTop">0dp</item>
<item name="android:paddingBottom">4dp</item>
<item name="android:includeFontPadding">false</item>
</style>
TextView
my for api 21 以降のスタイル( values-v21/style.xml
)
<style name="MyTextViewStyle" parent="Base.TextAppearance.AppCompat">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:gravity">left</item>
<item name="android:textColor">@color/blue_dark</item>
<item name="android:textSize">16sp</item>
<item name="android:maxLines">2</item>
<item name="android:ellipsize">end</item>
<item name="android:lineSpacingExtra">-4dp</item>
<item name="android:paddingTop">0dp</item>
<item name="android:paddingBottom">0dp</item>
<item name="android:includeFontPadding">true</item>
</style>
ここでの秘密は主に、 API 21 より前android:paddingBottom
とは逆であることです。android:lineSpacingExtra
注:<item name="android:lineSpacingExtra">-4dp</item>
と同等のように見えます<item name="android:lineSpacingMultiplier">0.8</item>
。