我使用ImgaeView将图片集成到我的应用页面中,现在图像右侧有多余的空间
android:adjustViewBounds="true"
不是答案
它不能解决间距问题
这是代码:
<ImageView
android:id="@+id/f2lcase2"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitStart"
android:src="@drawable/f2lcase2" />
<TextView
android:layout_height="wrap_content"
android:gravity="left"
android:text="Common F2L Cases" />
我没有足够的代表来发布图片,但图片和文字之间有很大的空间
谢谢!
的修改
这是完整的XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.cube.F2l" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:orientation="horizontal" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow
android:id="@+id/tableRow0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="3dip"
android:text="Common F2L Cases"
android:textSize="20sp" />
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/f2lcase2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:adjustViewBounds="true"
android:src="@drawable/f2lcase2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Common F2L Cases" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/f2lcase3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:adjustViewBounds="true"
android:src="@drawable/f2lcase3" />
</TableRow>
</TableLayout>
</LinearLayout>
答案 0 :(得分:0)
<ImageView
android:id="@+id/f2lcase2"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:src="@drawable/f2lcase2" />
<TextView
android:layout_height="wrap_content"
android:gravity="left"
android:text="Common F2L Cases" />
答案 1 :(得分:0)
尝试使用此代码可能会对您有所帮助:
public class MyImage extends ImageView {
public MyImage(final Context context, final AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {
final Drawable d = this.getDrawable();
if (d != null) {
// ceil not round - avoid thin vertical gaps along the left/right edges
final int width = MeasureSpec.getSize(widthMeasureSpec);
final int height = (int) Math.ceil(width * (float) d.getIntrinsicHeight() / d.getIntrinsicWidth());
this.setMeasuredDimension(width, height);
} else {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
}
在你的xml中这样做:
<com.exmple.myview.MyImage
android:id="@+id/ImageView3_Left"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:src="@drawable/bg_2"
></com.exmple.myview.MyImage>
就是这样。这将解决你的问题。
答案 2 :(得分:0)
由于您的视图将重复多次,因此您可以使用ListView。因为您的图像是静态的,您可以简单地设置TextView的Left Drawable。下面是ListView
的一行的布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:drawablePadding="5dp"
android:drawableLeft="@drawable/yourImage"
android:text="Common F2L Cases" />
</LinearLayout>