如果项目有图片,我的代码下面会很好。但如果它是空的那么项目图片看起来是空盒子,大小为70dp。我想如果项目不包含图片,那么自动填充TextView的空框,所以如果它是空的那么图片就像没有ImageView,只有TextView。 我尝试设置ImageView宽度大小andoid:layout_width =“wrap_content”它与我想要的一起工作,但图片的大小是凌乱的。有广泛和小。因此我将其设置为70以使其看起来平坦。
这是我的代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip" >
<ImageView
android:id="@+id/logo_article"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_marginRight="6dip" />
<TextView
android:id="@+id/title_article"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignWithParentIfMissing="true"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/logo_article"
android:gravity="center_vertical"
android:text="Title Article" />
</RelativeLayout>
我从数据库中获取项目,并将其存储到简单的适配器,java中的代码:
String[] from = { "title", "logo" };
int[] to = { R.id.title_article, R.id.logo_article };
SimpleAdapter adapter = new SimpleAdapter(getBaseContext(),listkatdb,R.layout.per_item_list, from, to);
kategoriListView.setAdapter(adapter);
adapter.notifyDataSetChanged();
感谢。
答案 0 :(得分:1)
不要修复图片视图大小。将图像宽度更改为wrap_content
。如果图像有手段显示图像的测试权。没有图像意味着图像宽度0dip文本自动左侧。试试这个
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip" >
<ImageView
android:id="@+id/logo_article"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_marginRight="6dip" />
<TextView
android:id="@+id/title_article"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignWithParentIfMissing="true"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/logo_article"
android:gravity="center_vertical"
android:text="Title Article" />
</RelativeLayout>
答案 1 :(得分:0)
如果为空,则将ImageView的可见性设置为GONE
答案 2 :(得分:0)
如果没有要显示的内容,请使用logo_article.setVisibility(View.GONE);
。
就是这样。
答案 3 :(得分:0)
如果没有图像,则需要将ImageView的setVisibility设置为GONE,然后TextView将填充整个宽度。
if(isImageAvailable)
{
iv.setVisibility(View.VISIBLE);
}
else
{
iv.setVisibility(View.GONE);
}
答案 4 :(得分:0)
当您发现ImageView到GONE没有图像集可见性时,以编程方式
ImageView img = (ImageView)findViewById(R.id.logo_article);
// logic here to find image
//if no img
img.setVisibility(View.GONE);