我的图像按钮有问题,当我指定centerinparent时,它没有正确对齐。
<LinearLayout
android:layout_width="match_parent" android:layout_marginTop="4dp"
android:layout_marginLeft="4dp" android:layout_marginRight="4dp"
android:layout_height="50dp" android:background="#FF0000">
<RelativeLayout android:layout_height="match_parent"
android:layout_width="40dp" android:background="#0000FF">
<ImageView android:id="@+id/imgType"
android:layout_centerInParent="true" android:layout_width="wrap_content"
android:src="@drawable/type_text" android:layout_height="wrap_content" />
</RelativeLayout>
<RelativeLayout android:layout_height="match_parent"
android:layout_width="match_parent" android:layout_weight="1">
<LinearLayout android:orientation="vertical"
android:layout_height="match_parent" android:layout_width="match_parent">
<TextView android:layout_width="match_parent"
android:textColor="#686a68" android:layout_height="match_parent"
android:textSize="15dp" android:text="Manifest : Text"
android:ellipsize="end" android:singleLine="true"
android:layout_weight="1" />
<TextView android:layout_width="match_parent"
android:textColor="#686a68" android:layout_height="match_parent"
android:textSize="15dp" android:id="@+id/txtTitle" android:text="[TEXT NAME]"
android:layout_weight="1" android:singleLine="true"
android:ellipsize="end" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout android:layout_height="match_parent"
android:layout_width="60dp" android:background="#00FF00">
<ImageButton android:src="@drawable/type_text"
android:layout_height="48dp" android:layout_centerInParent="true"
android:layout_width="48dp" android:id="@+id/butEdit" />
</RelativeLayout>
</LinearLayout>
如您所见,图像按钮的垂直对齐方式不正确。
为什么要这样做。
答案 0 :(得分:0)
您是否尝试在模拟器上运行此操作并使用hierarchyviewer工具(在SDK的“tools”文件夹中。单击列表中的应用程序并选择“加载视图层次结构”)以检查相关元素?看看问题控制和&amp ;;的边距和填充。它的容器。还要查看各种组件的宽度,它可以为您提供问题发生位置的线索。
同时检查@ drawable / type_text中的drawable是否包含任何可能导致感知偏移的空间(我认为不太可能)。
我偶尔会看到缩放图像的奇怪问题,因此如果@ drawable / type_text不是48x48像素,请尝试在Photoshop / GIMP / PSP中手动将图像缩放到所需的大小,看看是否有所不同。
或者尝试使用重力来尝试控制中心:
<LinearLayout android:layout_height="match_parent" android:gravity="center"
android:layout_width="60dp" android:background="#00FF00">
<ImageButton android:src="@drawable/type_text"
android:layout_height="48dp"
android:layout_width="48dp" android:id="@+id/butEdit" />
</LinearLayout>
或者也许:
<LinearLayout android:layout_height="match_parent" android:gravity="center"
android:layout_width="wrap_content" android:background="#00FF00">
<ImageButton android:src="@drawable/type_text"
android:layout_height="48dp" android:layout_width="48dp"
android:layout_margin="12dp" android:id="@+id/butEdit" />
</LinearLayout>
如果所有其他方法都失败了,请尝试调整ImageButton的各个android:layout_margin *属性来尝试强制执行。
我希望其中一些有帮助。