我有一个非常有用的应用程序小部件,有一个怪癖。我在小部件中有一个LinearLayout,我可以添加我的数据行。似乎没有任何明显的方法让我知道线性布局有多大以及给定的行是否合适,所以我只是添加整个数据集(因为它不是很大)。布局中的文本在底部被裁剪,这是我所期望的。但是,它旁边的ImageView没有被裁剪,而是被缩放。坦率地说,它看起来很傻。
如果我有办法判断一行是否适合我的LinearLayout,那就太棒了。如果有一种方法我可以告诉它只是裁剪我的图像,那也没关系。这就是裁剪的样子。
我正在添加的行的布局(如果这里有一个goof,它可能来自我应用的匿名化):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/checkbox"
android:layout_width="28sp"
android:layout_height="28sp"
android:src="@drawable/check_off"
android:layout_marginLeft="5dp"
android:layout_marginTop="1dp"
android:layout_alignParentLeft="true"/>
<TextView
android:id="@+id/textview"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textSize="16sp"
android:minHeight="28sp"
android:paddingLeft="5dp"
android:layout_centerVertical="true"
android:layout_alignWithParentIfMissing="true"
android:layout_toRightOf="@id/checkbox"/>
</RelativeLayout>
编辑:行的容器只是一个简单的LinearLayout:
<LinearLayout
android:id="@+id/list_items"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_above="@id/logo"
android:layout_marginBottom="4dp"
android:padding="1dp"
android:orientation="vertical"
android:background="@drawable/widget_background"/>
答案 0 :(得分:0)
尝试在您的ImageView中添加scaletype:
android:scaleType="centerCrop"
或
android:scaleType="fitCenter"
或此处列出的任何其他选项: http://developer.android.com/reference/android/widget/ImageView.ScaleType.html
答案 1 :(得分:0)
事实证明,给对应于该行的RelativeLayout特定高度(30sp,对于此布局)而不是“wrap_content”解决了问题。现在图像正确裁剪。