这就是我目前的观点。
如您所见,图标并非全部对齐到左侧。红线是我的目标。如果他们一直走到左边,没问题,因为我可以稍后用marginLeft
来解决。
这是我的XML代码( layout / listview_style_listview.xml ):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/BackGroundColor"
android:orientation="vertical"
android:scaleType="center" >
<LinearLayout
android:id="@+id/titleLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:layout_marginLeft="7dp"
android:layout_marginRight="7dp"
android:background="@color/BackGroundColor"
android:orientation="horizontal" >
<TextView
android:id="@+id/sectionTitle"
style="@style/sectionTitle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="left"
android:text="(blank)" />
<Button
android:id="@+id/sectionInfoButton"
android:layout_width="33dp"
android:layout_height="33dp"
android:layout_gravity="right"
android:layout_marginLeft="3dp"
android:layout_weight="0"
android:background="@drawable/infoicon" />
<Button
android:id="@+id/sectionInfoButton"
android:layout_width="33dp"
android:layout_height="33dp"
android:layout_gravity="right"
android:layout_marginLeft="3dp"
android:layout_weight="0"
android:background="@drawable/filtericon" />
<Button
android:id="@+id/sectionOptionsButton"
android:layout_width="33dp"
android:layout_height="33dp"
android:layout_gravity="right"
android:layout_marginLeft="3dp"
android:layout_weight="0"
android:background="@drawable/menuicontop2" />
<Button
android:id="@+id/addCatButton"
android:layout_width="33dp"
android:layout_height="33dp"
android:layout_gravity="right"
android:layout_marginLeft="3dp"
android:layout_weight="0"
android:background="@drawable/effect_button_add_cat_click" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_marginBottom="0dp"
android:layout_marginLeft="0dip"
android:layout_marginRight="0dip"
android:background="@color/blueOceanStroke" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@color/BlueOcean"
android:dividerHeight="1dp"
android:listSelector="@drawable/listview_style_list_selector"
android:paddingBottom="1dp" />
</LinearLayout>
这是我的XML代码( layout / listview_style_row.xml )
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minHeight="35dp" >
<ImageView
android:id="@+id/catThumbnail"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/bank1" />
<TextView
android:id="@+id/sectionTitle"
style="@style/title"
android:layout_width="97dp"
android:layout_height="32dp"
android:layout_alignBottom="@+id/catThumbnail"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginLeft="66dp"
android:gravity="center_vertical"
android:text="Title Text"
android:textColor="@color/listsTextColor"
android:textSize="15sp"
android:textStyle="normal"
android:typeface="normal" />
<ImageView
android:layout_width="25dip"
android:layout_height="32dp"
android:layout_alignBottom="@+id/sectionTitle"
android:layout_alignParentRight="true"
android:gravity="center_vertical"
android:src="@drawable/arrow" />
</RelativeLayout>
PS:我在屏幕截图后面右侧添加了一个箭头图标,这就是为什么它没有显示在图像上,但我想这并不重要。
答案 0 :(得分:0)
从截图中可以看出布局是正常的,因为背面颜色@ color / blueOceanStroke的分隔线一直都是这样,分隔符也是如此。问题必须在“@ + id / catThumbnail”中,如果你测量红线和黄色方块左边缘之间的距离,并将它与方形右边缘和字母左边缘之间的距离进行比较“B”与它不应该是一样的。
我的猜测是@ drawable / bank1中有一些填充王。尝试完全删除它,看看字母“B”是否与标题对齐。
希望这会有所帮助......
答案 1 :(得分:0)
我能够在listview_style_row.xml中的“ImageView @ + id / catThumbnail”上使用android:layout_marginLeft =“ - 10dp”修复它,但我真的不认为这是最终完美设计的应用程序的有效解决方案,是?对我来说,把负值放在那里,有些不对劲,对吗?
答案 2 :(得分:0)
正如其他人提到的,我会尝试删除ImageView并查看TextView是否会与红线齐平。如果是,ImageView有一些问题,如果没有,那就是其他问题。此外,ImageView可能没有相同的高度和宽度,并且可能会因设置为32 dp而导致缩放问题,请参阅:Unwanted padding around an ImageView。
将ImageView包装在FrameLayout中可能更容易。像这样:
<FrameLayout>
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
<ImageView
android:id="@+id/catThumbnail"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/bank1" />
</FrameLayout>
或者,如果这不起作用,请尝试将图像视图和/或框架布局的宽度和高度设置为wrap_content。此外,如果该图像是9补丁,则可能还有其他原因。