TextView 间距问题
TextView spacing issues
我目前正在努力让我的应用程序在不同的屏幕尺寸上显示得更好。这个 TextView 现在应该延伸到视图的末尾。这行得通,但问题是它随后显示了这条丑陋的半线。我已经设置了其他边距和填充,但这使得它在一个或另一个设备上看起来很糟糕,所以我问自己是否有一个好的解决方案可以让它在任何地方看起来都正确。这是对应的TextView:
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/relative_layout"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:maxLines="100"
android:ellipsize="end"
android:textSize="18sp"
android:clickable="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textIsSelectable="false"/>
如果有人能帮助我就太好了,在此先感谢!
我创建了一个像这样的 AdaptingTextView:
public class AdaptingTextView extends TextView {
public AdaptingTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public AdaptingTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AdaptingTextView(Context context) {
super(context);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
// set fitting lines to prevent cut text
int fittingLines = h / this.getLineHeight();
if (fittingLines > 0) {
this.setLines(fittingLines);
}
}
}
来源:
我目前正在努力让我的应用程序在不同的屏幕尺寸上显示得更好。这个 TextView 现在应该延伸到视图的末尾。这行得通,但问题是它随后显示了这条丑陋的半线。我已经设置了其他边距和填充,但这使得它在一个或另一个设备上看起来很糟糕,所以我问自己是否有一个好的解决方案可以让它在任何地方看起来都正确。这是对应的TextView:
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/relative_layout"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:maxLines="100"
android:ellipsize="end"
android:textSize="18sp"
android:clickable="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textIsSelectable="false"/>
如果有人能帮助我就太好了,在此先感谢!
我创建了一个像这样的 AdaptingTextView:
public class AdaptingTextView extends TextView {
public AdaptingTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public AdaptingTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AdaptingTextView(Context context) {
super(context);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
// set fitting lines to prevent cut text
int fittingLines = h / this.getLineHeight();
if (fittingLines > 0) {
this.setLines(fittingLines);
}
}
}
来源: