在ListView中9补丁的android有问题

时间:2016-10-17 08:51:51

标签: android

我使用ImageView作为listview项,但是在UI渲染和代码片段时出现问题:

int placeholder = R.drawable.placeholder;//placeholder.9.png in res/drawable-xxhdpi folder

img.setImageResource(placeholder);

img.setScaleType(ImageView.ScaleType.FIT_XY);

占位符图片:

this placeholder image

截屏图片:

this screen capture image

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:xiaozhi="http://schemas.android.com/apk/res-auto"
    android:id="@+id/channel_list_item_fullimage_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?attr/xz_fragment_item_selector"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/news_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="12dp"
        android:layout_marginRight="12dp"
        android:layout_marginTop="10dp"
        android:background="@null"
        android:ellipsize="end"
        android:gravity="center_vertical"
        android:maxLines="2"
        android:textColor="?attr/news_main_text_color"
        android:textSize="15sp" />

    <com.inveno.xiaozhi.widget.IRatioImageView
        android:id="@+id/news_fullimg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:alpha="?attr/img_alpha"
        android:layout_marginLeft="@dimen/padding_medium"
        android:layout_marginRight="@dimen/padding_medium"
        android:scaleType="fitXY"
        xiaozhi:ratio="2.0"/>

    <include
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="2dp"
        android:layout_marginLeft="12dp"
        android:layout_marginRight="12dp"
        layout="@layout/item_viewstub_swith_title_rss" />
    <View
        android:layout_width="match_parent"
        android:layout_height="2px"
        android:background="?attr/xz_fragment_divider_color" />
</LinearLayout>

是否有人遇到它并且有一些建议来解决这个问题?

2 个答案:

答案 0 :(得分:0)

你应该将 placeholder.9.png 放在 res / drawable 文件夹中

并通过从drawable文件夹路径

调用id来设置ImageView资源
Resources resources = getResources();
img.setImageDrawable(resources.getDrawable(R.drawable.placeholder.9));

答案 1 :(得分:0)

我找到解决问题的解决方案:

只需编辑可伸展补丁的行。

在顶部可拉伸的补丁:绘制1px到3px在最左边,在最右边绘制1px到3px

左侧可拉伸的补丁:绘制1px到3px左上角,右下角绘制1px到3px