设计布局 android

Designing layout android

我目前正在尝试创建一个列表视图,它将显示 post 的详细信息。为此,我创建了 xml 文件来设计列表项。

这是我想要 activity 的最终外观。到目前为止,我已经成功处理了圆角、图像按钮和文本,但我正在尝试处理文本框的左侧。我希望它有一个尖锐的尖端。可我还是受不了。

我将添加 xml 个文件来展示我所做的。

**This is the xml file for the list item**

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="300dp"
    android:layout_height="160dp">

    <LinearLayout android:id="@+id/desclayout"
        android:layout_width="240dp"
        android:layout_height="140dp"
        android:background="@drawable/layout_my_posts_selector"
        android:layout_marginRight="5dp">

        <TextView
            android:id="@+id/myPostDescription"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="left"
            android:maxLength="120"
            android:hint="@string/description"
            android:inputType="textMultiLine"
            android:lines="4"
            android:maxLines="5"
            android:paddingBottom="8dp"
            android:textColorHint="#f7941e"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="8dp"
            android:textColor="#6d6e71"
            android:scrollbars="vertical"
            android:textSize="14sp">
        </TextView>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_toRightOf="@+id/desclayout"
        android:background="@drawable/description_layout_my_posts_selector"
        android:orientation="vertical"
        android:paddingLeft="7dp"
        android:layout_height="140dp">

        <ImageButton
            android:id="@+id/acceptMyPostBtn"
            android:layout_width="40dp"
            android:background="@drawable/my_posts_button_selector"
            android:layout_marginTop="5dp"
            android:layout_height="40dp"
            android:src="@drawable/v"/>

        <ImageButton
            android:id="@+id/closeMyPostBtn"
            android:layout_width="40dp"
            android:background="@drawable/my_posts_button_selector"
            android:layout_below="@id/acceptMyPostBtn"
            android:layout_height="40dp"
            android:layout_marginTop="5dp"
            android:src="@drawable/x"/>

        <ImageButton
            android:id="@+id/showOnMapMyPost"
            android:layout_width="40dp"
            android:src="@drawable/location"
            android:background="@drawable/my_posts_button_selector"
            android:layout_marginTop="5dp"
            android:layout_height="40dp"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_below="@+id/desclayout"
        android:paddingLeft="6dp"
        android:background="#2d2d2d"
        android:layout_height="20dp">

        <TextView
            android:layout_width="fill_parent"
            android:textColor="@android:color/background_light"
            android:text="Finished at 19/01/2013 13:55"
            android:layout_height="fill_parent" />
    </LinearLayout>
</RelativeLayout>

layout_my_posts_selector

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <solid android:color="#f1f1f2"/>

    <stroke android:width="3dp"  android:color="#2d2d2d" />

    <corners android:topLeftRadius="7dp" android:bottomLeftRadius="7dp"/>

    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>

描述_layout_my_posts_selector

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#e7e8ea"/>
    <stroke android:width="3dp" android:color="#2d2d2d" />
    <corners android:topRightRadius="7dp" android:bottomRightRadius="7dp"/>
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>

这是目前的样子

如果可以,请指导我如何处理尖锐的尖端,我将不胜感激!

你可以将 9 个补丁用作 background.Create 一个 here

虽然使用单独的背景 xml 文件是个好主意,但我建议您使用可绘制对象代替背景。 因此,您可以使用 photoshop 中左侧的 'sharp tip' 或 paint.net 设计背景图片,并设置 属性 android:background=@drawable/background_design,其中 'background design' 是您设计的名称可绘制文件。

对其进行编程将需要更多资源来呈现设计。在列表视图中使用不是一个好习惯。为了获得最佳性能,请使用静态布局的可绘制对象。

嗯,我不明白为什么我的 post 得到了 -1,

但无论如何我都会post我选择的方式。

我已经创建了 xml 个名为:triangle

的文件
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <rotate
            android:fromDegrees="45"
            android:pivotX="87%"
            android:pivotY="115%"
            android:toDegrees="45">
            <shape android:shape="rectangle">
                <solid android:color="#f1f1f2"/>
            </shape>
        </rotate>
    </item>
</layer-list>

在此之后,我将线性布局添加到我的 list_item_xml 中 三角形的背景 xml.

感谢您的帮助,祝您愉快