0

实际视图

这就是我目前的看法。

如您所见,图标并非一直向左对齐。红线是我的目标。如果他们一直向左走,没问题,因为我以后可以用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:我在屏幕截图后的右侧添加了一个箭头图标,这就是它没有显示在图像上的原因,但我想这并不重要。

4

3 回答 3

0

从屏幕截图来看,布局是可以的,因为带有背景颜色@color/blueOceanStroke 的分隔线一直延伸,分隔线也是如此。问题一定出在“@+id/catThumbnail”中,如果你测量你的红线和黄色方块左边缘之间的距离,并将它与方块右边缘和字母左边缘之间的距离进行比较“B”它们与不应该的大致相同。

我的猜测是@drawable/bank1 中有一些填充之王。尝试完全删除它,看看字母“B”是否与标题对齐。

希望这可以帮助...

于 2013-08-01T00:31:44.060 回答
0

我能够在 listview_style_row.xml 中的“ImageView @+id/catThumbnail”上使用 android:layout_marginLeft="-10dp" 修复它,但我真的不认为这是最终完美设计应用程序的有效解决方案,是吗?让我把负值放在那里,有问题,对吧?

于 2013-08-01T01:48:28.967 回答
0

正如其他人提到的,我会尝试删除 ImageView 并查看 TextView 是否会与红线齐平。如果是,则 ImageView 有一些问题,如果不是,则是其他问题。此外,ImageView 可能没有相同的高度和宽度,这可能会导致您通过设置为 32 dp 进行缩放时出现问题,请参阅: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-patch,则可能还有其他原因。

于 2013-08-01T13:50:31.127 回答