我正在为不同高度的消息创建列表视图。视图是xml布局,设置为在所有分辨率屏幕上布局相同。为了提高性能,我通过调用 View.getDrawingCache()将这些视图转换为位图图像。我得到了Bitmap图像,但似乎是缩放文本,特别是在高分辨率屏幕上。这使文本有点模糊,在某些情况下,它也会在边缘处被切断。如果我布局视图而不是位图图像,一切都正确缩放,但我没有得到我想要的性能。我的项目xml布局如下所示:
Xml项目视图:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5px"
android:background="#FFFFFF">
<ImageView android:id="@+id/contact_photo"
android:layout_width="48dip"
android:layout_height="48dip"/>
<ImageView android:id="@+id/network_icon"
android:layout_alignParentRight="true"
android:layout_width="16dip"
android:layout_height="16dip"/>
<TextView android:id="@+id/created_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:layout_toLeftOf="@+id/network_icon"
android:textColor="#000000"/>
<TextView android:id="@+id/sender_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:layout_toRightOf="@+id/contact_photo"
android:ellipsize="end"
android:singleLine="true"
android:textColor="#000000"/>
<TextView android:id="@+id/summary"
android:layout_below="@+id/sender_name"
android:layout_toRightOf="@+id/contact_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:maxLines="4"
android:textColor="#000000" />
<LinearLayout
android:id="@+id/AttachmentLayout"
android:layout_below="@+id/summary"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_width="wrap_content"/>
</RelativeLayout>
查看Measure Snippet:
LayoutParams params = child.getLayoutParams();
if (params == null) {
params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
}
final int index = layoutMode == LAYOUT_MODE_ABOVE ? 0 : -1;
child.setDrawingCacheEnabled(true);
addViewInLayout(child, index, params, true);
final int itemWidth = (int)(getWidth() * ITEM_WIDTH);
child.measure(MeasureSpec.EXACTLY | itemWidth, MeasureSpec.UNSPECIFIED);
我还添加了预先形成视图测量的代码片段。有谁知道如何阻止文本缩放?
答案 0 :(得分:0)
好的......伙计们我明白了。它非常简单,应该从一开始就知道这一点。解决方案是确保将其添加到AndroidManifest.xml。我将支持的分辨率设置为any,因为我的xml布局文件设计为自动重新调整大小。