我有4个textview,它们的大小取决于指南,指南的位置是正确的,因为它已经在整个项目中使用过。我尝试了很多解决方案,但没有一个能帮我解决问题。无论屏幕大小,字体大小或文字如何,我的文字都会被裁剪。
我查找了根据容器大小自动调整文本字段文本字体大小的选项,但它对我没用。
这是我要找的结果。
这些textview是自定义textview扩展android.support.v7.widget.AppCompatTextView
但到目前为止尚未对文本本身进行任何修改。
编辑:这是我的自定义类
public class MyTextView extends android.support.v7.widget.AppCompatTextView {
private Context context = null;
private AttributeSet attrs = null;
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
this.attrs = attrs;
setWillNotDraw(false);
setIncludeFontPadding(false);
}
@Override
public void onSizeChanged (int w, int h, int oldw, int oldh){
super.onSizeChanged(w, h, oldw, oldh);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
}
这是xml
<android.support.constraint.Guideline
android:id="@+id/TopOf"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.031200000000000002" />
<android.support.constraint.Guideline
android:id="@+id/StartOf"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_constraintGuide_percent="0" />
<android.support.constraint.Guideline
android:id="@+id/BottomOf"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.9062" />
<android.support.constraint.Guideline
android:id="@+id/EndOf"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.16477" />
<com.customView.MyTextView
android:id="@+id/MyTextView"
android:fontFamily="roboto"
android:text="Downloads"
android:textColor="#5d5d5d"
android:textSize="8dp"
app:autoSizeTextType="uniform"
android:textStyle="bold"
android:gravity="left"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_constraintStart_toStartOf="@+id/StartOf"
app:layout_constraintTop_toTopOf="@+id/TopOf"
app:layout_constraintEnd_toEndOf="@+id/EndOf"
app:layout_constraintBottom_toBottomOf="@+id/BottomOf" />
答案 0 :(得分:0)
您需要提供android:layout_height="wrap_content"
textview
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:padding="5dp"
android:text="text" />