我希望在ImageView
内添加ListView
。我希望图像能够在没有扭曲的情况下填充布局(基本上,填充高度并调整其宽度)。
这就是我现在所得到的:
我为ImageView
添加了灰色背景,以便于查看。红色,这是我想要的尺寸。
这是我的代码:
Project_form.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/name_project"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:padding="3dp"
android:layout_alignParentLeft="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="25dp" >
</TextView>
<Button
android:id="@+id/button_project"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_custom"
android:layout_centerVertical="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_alignParentRight="true"
android:padding="3dp"
android:text=" details "
android:textSize="20dp"
android:visibility="invisible" />
<ImageView
android:id="@+id/imagesstep"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="@color/grey"
android:adjustViewBounds="false"
android:layout_centerVertical="true"
android:padding="3dp"
android:layout_alignParentRight="true"
android:visibility="invisible" />
</RelativeLayout>
我的Adapter
的方法getView():
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
if (row==null) {
LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.project_form, parent, false);
}
TextView text = (TextView) row.findViewById(R.id.name_project);
text.setText(this.objects[position].getName());
int IDImage=this.objects[position].getIDImage();
int IDPlay = this.objects[position].getIDPlay();
text.setCompoundDrawablesWithIntrinsicBounds(IDImage, 0, 0, 0);
text.setCompoundDrawablePadding(7);
ImageView image = (ImageView)
row.findViewById(R.id.imagesstep);
image.setVisibility(View.VISIBLE);
image.setImageResource(IDPlay);
if (position == selectedPosition) {
row.setBackgroundColor(Color.parseColor("#8000ff00"));
}
else {
row.setBackgroundColor(Color.TRANSPARENT);
}
return row;
}
我尝试使用不同的参数,例如ScaleType
,android:adjustViewBounds和layout_width,但我的图像高度从未改变过。我也尝试以编程方式进行(类似于image.setMinHeight(parent.getHeight()),但它也失败了。
有人能指出我出了什么问题吗?
非常感谢
答案 0 :(得分:2)
尝试将RelativeLayout
的{{1}}更改为layout_height
fill_parent
或者,您可以将<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
<TextView ... />
<Button .. />
<ImageView ... />
</RelativeLayout>
的{{1}}属性设置为minHeight
ImageView
答案 1 :(得分:1)
从imageview中删除填充