我已经创建了联系电话的列表视图,现在每当我尝试将图像加载到QuickContactBadge中时,该列表项就包含QuickContactBadgeTextView,它同时在does not get fit into QuickContactBadge框架中并且同时在QuickBadgeContact itself will also get shrink.

礼仪我现在有这个



我想要达到的是



因此,不仅图像,甚至我都在尝试制作正常大小的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" />

最佳答案

//尝试对您的布局高度和宽度进行硬编码

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


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

假设您的50dpi等于mdpi 50px

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

10-04 17:02