在我正在开发的应用中,我有几个ImageButtons。每个ImageButton都有一个drawable形式的背景和内容。现在drawable在ImageButton的范围内处于最大尺寸,但我希望它缩小,所以我需要添加一些填充。问题在于,当我尝试这样做时,它没有任何效果。我的XML对于每个ImageButton都如下:
<ImageButton
android:id="@+id/button_zero"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_zero"
android:background="@drawable/button_background" />
为什么padding没有做任何事情的想法?
完整的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="#222222"
tools:context=".Main" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- Row One -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/button_zero"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_zero"
android:background="@drawable/button_front" />
<ImageButton
android:id="@+id/button_one"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_one"
android:background="@drawable/button_front" />
<ImageButton
android:id="@+id/button_two"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_two"
android:background="@drawable/button_front" />
<ImageButton
android:id="@+id/button_three"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_three"
android:background="@drawable/button_front" />
<ImageButton
android:id="@+id/button_four"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/button_four"
android:background="@drawable/button_front" />
</LinearLayout>
... same for other rows
</LinearLayout>
答案 0 :(得分:104)
您必须添加到您的ImageButton定义
android:scaleType="fitCenter"
或其他scaleType,如fitXY,因为默认情况下图像尝试尽可能地缩放并忽略填充
答案 1 :(得分:0)
填充仅对import requests
url ='http://192.168.17.179/data/vhg/1112'
file_content = {'firewall.xml': open('firewall.xml','rb')}
header = {'Content-Type': 'raw'}
r= requests.put(url, files=file_content, headers=header)
print(r.status_code)
属性有效,而不对android:src
有效。
将第一个设置为按钮图像,将后者设置为android:background
答案 2 :(得分:0)
如果需要使用$PATH
答案 3 :(得分:0)
这个关于scaleType的问题默认,在fitXY的ImageButton中,你只需要改变fitCenter。
<ImageButton
android:layout_width="24dp"
android:layout_height="24dp"
android:paddingVertical="4dp"
android:scaleType="fitCenter" />