【发布时间】:2016-08-11 02:54:36
【问题描述】:
在我的 Android 应用中,我有以下布局:
<android.support.v7.widget.CardView
android:id="@+id/difficultyCardView"
app:layout_widthPercent="60%"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:cardUseCompatPadding="true"
android:layout_centerHorizontal="true"
android:layout_above="@+id/noHighScoresCardView">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/yellow"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="10dp"
android:src="@drawable/pushpin" />
<TextView
android:id="@+id/diffNameTv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="12dp"
android:maxLines="1"
android:singleLine="true"
android:text="FÁCIL"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
</android.support.v7.widget.CardView>
在我的 Nexus 5 中,如上所示将文本大小设置为 20sp,使文本占据 CardView 宽度的大约 75%。问题是,当我在较小的手机上进行测试时,它会在文本中添加省略号。
我想要实现的是,在每个屏幕尺寸和分辨率上,文本都将准确占据卡片的 75%。
那么,我该如何解决这个问题,创建多个比例文件夹(ldpi、mdpi、...)并调整每个文件夹的字体大小、通过代码以百分比计算它,或任何其他解决方案?
谢谢。
【问题讨论】: