图像不适合QuickContactBadge

时间:2012-02-29 12:03:01

标签: android android-layout android-listview

我创建了一个联系人号码列表视图,列表项目包含QuickContactBadgeTextView现在,每当我尝试将图片加载到QuickContactBadge中does not get fit into QuickContactBadge框架,同时时间QuickBadgeContact itself will also get shrink.

Rite现在我有了这个

enter image description here

我想要实现的是

enter image description here

所以不仅是图像,甚至我正在尝试制作正常大小的QuickContactBadge

这是我正在使用的代码

    Uri contactUri = Uri.withAppendedPath(
                            ContactsContract.Contacts.CONTENT_URI, 
                             String.valueOf(contactId));

    InputStream input = ContactsContract.Contacts.openContactPhotoInputStream
                            (
                            getContentResolver(), contactUri
                            );


 cache.photoView.setImageBitmap(BitmapFactory.decodeStream(input));

我的列表项布局

<QuickContactBadge
        android:id="@+id/badge"
        android:layout_marginLeft="2dip"
        android:layout_marginRight="14dip"
        android:layout_marginTop="4dip"
        android:layout_marginBottom="3dip"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_height= "wrap_content"
        android:layout_width= "wrap_content"
        android:src="@drawable/ic_contact_picture"
        style="?android:attr/quickContactBadgeStyleWindowSmall" />

    <TextView
        android:id="@+id/name"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:paddingLeft="2dip"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/badge"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

1 个答案:

答案 0 :(得分:2)

//尝试硬编码你的布局高度和宽度

android:layout_height= "50dp" android:layout_width= "50dp"

//确保使用dp / dip此填充适合所有屏幕分辨率

假设您的50dp对于mdpi将是相同的50px

mdpi 50*160/160=50px
hdpi 50*240/160=75px
xhdpi 50*320/160=100px