我有这个布局:
<FrameLayout
android:id="@+id/artwork_detected_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginBottom="20dip"
android:layout_marginLeft="18dip"
android:layout_marginTop="20dip"
android:padding="6dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt_favourites"
android:textColor="@color/welcome_textcolor"
android:textSize="24sp" />
</FrameLayout>
<ImageView
android:id="@+id/btn_detect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/artwork_detected_text"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/artwork_detected_text"
android:layout_centerVertical="true"
android:adjustViewBounds="true"
android:src="@drawable/detect_btn" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/artwork_detected_text"
android:layout_alignTop="@id/artwork_detected_text"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/btn_detect"
android:adjustViewBounds="true"
android:src="@drawable/back_btn" />
</RelativeLayout>
这就是它在eclipse图形布局中的样子
如果您注意到右侧两个ImageView的左侧和右侧有不需要的填充。 如何在没有
的情况下删除它指定图像的绝对宽度/高度(我希望它们从左侧的TextView中对齐顶部和alignBottom)
具有负边距/填充(必须根据屏幕密度进行调整)
我已经将adjustViewBounds属性设置为true,正如您在代码中看到的那样,但显然它只修复了ImageViews顶部和底部不需要的填充,所以它在这里基本没用。
其他信息: 图像很大 - 比显示的图像大。但正如你在这里看到的那样,它们正在缩放。不,他们没有透明的填充物。
答案 0 :(得分:2)
您可以在RelativeLayout中使用LinearLayout,例如:
<RelativeLayout
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/favorites_top_bar" >
<FrameLayout
android:id="@+id/artwork_detected_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginBottom="20dip"
android:layout_marginLeft="18dip"
android:layout_marginTop="20dip"
android:padding="6dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt_artword_detected"
android:textColor="@color/welcome_textcolor"
android:textSize="24sp" />
</FrameLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/artwork_detected_text"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/artwork_detected_text"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/artwork_detected_text"
android:background="@color/favorites_top_bar"
android:gravity="center_vertical|right"
android:orientation="horizontal"
android:paddingRight="10dip" >
<ImageView
android:id="@+id/btn_detect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/detect_btn" />
<View
android:layout_width="6dip"
android:layout_height="wrap_content" >
</View>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/back_btn" />
</LinearLayout>
</RelativeLayout>