Cra*_*ner 11 android padding imageview android-layout
我想制作一个包含顶栏和图像的屏幕.我使用TextView作为顶部栏,使用ImageView作为图像.我想仅将填充设置为图像视图.我的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:background="@drawable/background" >
<TextView android:id="@+id/topBar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/home"
android:textSize="20sp"
android:textColor="#ffffff"
android:textStyle="bold"
android:shadowColor="#000000"
android:shadowRadius="1"
android:shadowDy="-1"
android:gravity="center"
android:background="@drawable/navBar"/>
<ImageView android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:paddingRight="10dp"
android:paddingBottom="10dp"
android:layout_below="@+id/topBar"
android:background="@drawable/image"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
Cod*_*rji 14
您应该使用layout_margin而不是padding如此,它应该如下:
<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:background="@drawable/background" >
<TextView android:id="@+id/topBar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/home"
android:textSize="20sp"
android:textColor="#ffffff"
android:textStyle="bold"
android:shadowColor="#000000"
android:shadowRadius="1"
android:shadowDy="-1"
android:gravity="center"
android:background="@drawable/navBar"/>
<ImageView android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:layout_below="@+id/topBar"
android:background="@drawable/image"/>
Run Code Online (Sandbox Code Playgroud)
并且您可以layout_margin为所有方向指定1 ,而不是使用
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
Run Code Online (Sandbox Code Playgroud)
您可以使用:
android:layout_margin="10dip"
Run Code Online (Sandbox Code Playgroud)
希望这就是你要找的东西.否则给我反馈;)
更新
你也可以设置cropToPadding:
<ImageView
...
android:cropToPadding="true"
android:padding="15dp"
android:scaleType="centerInside"
...
Run Code Online (Sandbox Code Playgroud)
Nis*_*nth 11
在ImageView上使用
android:src="@drawable/image"
Run Code Online (Sandbox Code Playgroud)
代替
android:background="@drawable/image"
Run Code Online (Sandbox Code Playgroud)
src标记用于表示填充,而背景标记则不用.在某些情况下,尤其是 在可点击的图标上,使用layout_margin而不是填充是个坏主意,因为填充属于视图并使点击区域更大!
唯一的解决方案是将imageview添加到另一个容器中.
<FrameLayout
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
android:layout_marginRight="10dp"
android:padding="10dp" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@drawable/ic_delete_blue" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16035 次 |
| 最近记录: |