创建聊天消息布局

时间:2017-12-06 12:35:23

标签: android android-layout

Android中的聊天消息textview出现问题。

我有3个自定义textView,但应在BottomRight align上设置<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="60dp" android:background="@drawable/msg_in" android:orientation="vertical"> <com.fearefull.chatstory.Widgets.MyTextView android:id="@+id/nickname_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="none" android:layout_alignParentLeft="true" android:paddingBottom="7dp" android:paddingLeft="16dp" android:paddingRight="12dp" android:paddingTop="5dp" android:text="adawd awdaw" android:textStyle="bold" android:textColor="@android:color/holo_green_light" android:textSize="18sp" tools:ignore="ObsoleteLayoutParam,RtlHardcoded" /> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <com.fearefull.chatstory.Widgets.MyTextView android:id="@+id/textview_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="none" android:paddingBottom="7dp" android:paddingLeft="16dp" android:paddingRight="12dp" android:paddingTop="5dp" android:text="dlsadfafawfafawawfawf a fawfawfafafkawmflaknfalfntigtggt" android:textColor="@android:color/black" android:textSize="17sp" tools:ignore="ObsoleteLayoutParam,RtlHardcoded" /> <com.fearefull.chatstory.Widgets.MyTextView android:id="@+id/textview_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="11:15 PM" android:textColor="#a6abad" android:textSize="12sp" android:layout_alignBottom="@id/textview_message" android:layout_alignParentRight="true" android:padding="5dp" tools:ignore="RtlHardcoded" /> </RelativeLayout> </LinearLayout> 的时间。

以下是我的截图:

image

这是我的代码:

textView

我在>>> my_json = {"sum" : ["columnA", "columnB", "columnC", "columnD"] ,"min" : ["columnA", "columnC"] ,"max" : ["columnB", "columnC"] ,"count" : ["columnA", "columnD"]} >>> result = {} >>> [result.setdefault(col,[]).append(key) for key,value in my_json.items() for col in value] >>> result {'columnD': ['count', 'sum'], 'columnA': ['count', 'sum', 'min'], 'columnC': ['max', 'sum', 'min'], 'columnB': ['max', 'sum']} 的时间使用了任何对齐,但它没有用。

4 个答案:

答案 0 :(得分:0)

你的布局应该是这样的。您应该乘坐RelativeLayout并简单地更改视图的布局重力

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginRight="60dp"
    android:background="@drawable/msg_in"
    android:orientation="vertical">

    <com.fearefull.chatstory.Widgets.MyTextView
        android:id="@+id/nickname_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autoLink="none"
        android:layout_alignParentLeft="true"
        android:paddingBottom="7dp"
        android:paddingLeft="16dp"
        android:paddingRight="12dp"
        android:paddingTop="5dp"
        android:text="adawd awdaw"
        android:textStyle="bold"
        android:textColor="@android:color/holo_green_light"
        android:textSize="18sp"
        tools:ignore="ObsoleteLayoutParam,RtlHardcoded" />


        <com.fearefull.chatstory.Widgets.MyTextView
            android:id="@+id/textview_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:autoLink="none"
            android:paddingBottom="7dp"
            android:paddingLeft="16dp"
            android:paddingRight="12dp"
            android:paddingTop="5dp"
            android:text="dlsadfafawfafawawfawf a fawfawfafafkawmflaknfalfntigtggt"
            android:textColor="@android:color/black"
            android:textSize="17sp"
            tools:ignore="ObsoleteLayoutParam,RtlHardcoded" />

        <com.fearefull.chatstory.Widgets.MyTextView
            android:id="@+id/textview_time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="11:15 PM"
            android:textColor="#a6abad"
            android:textSize="12sp"
            android:layout_gravity="right"
            android:padding="5dp"
            tools:ignore="RtlHardcoded" />


</LinearLayout>

答案 1 :(得分:0)

试试这个

<LinearLayout android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_marginRight="60dp"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <com.fearefull.chatstory.Widgets.MyTextView
        android:id="@+id/nickname_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autoLink="none"
        android:layout_alignParentLeft="true"
        android:paddingBottom="7dp"
        android:paddingLeft="16dp"
        android:paddingRight="12dp"
        android:paddingTop="5dp"
        android:text="adawd awdaw"
        android:textStyle="bold"
        android:textColor="@android:color/holo_green_light"
        android:textSize="18sp"
        tools:ignore="ObsoleteLayoutParam,RtlHardcoded" />

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <com.fearefull.chatstory.Widgets.MyTextView
            android:id="@+id/textview_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:autoLink="none"
            android:paddingBottom="7dp"
            android:paddingLeft="16dp"
            android:paddingRight="12dp"
            android:paddingTop="5dp"
            android:text="dlsadfafawfafawawfawf a fawfawfafafkawmflaknfalfntigtggt"
            android:textColor="@android:color/black"
            android:textSize="17sp"
            tools:ignore="ObsoleteLayoutParam,RtlHardcoded" />

        <com.fearefull.chatstory.Widgets.MyTextView
            android:id="@+id/textview_time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="11:15 PM"
            android:layout_below="@id/textview_message"
            android:textColor="#a6abad"
            android:textSize="12sp"
            android:layout_alignParentRight="true"
            android:padding="2dp"
            tools:ignore="RtlHardcoded" />
    </RelativeLayout>

</LinearLayout>

<强>输出

enter image description here

答案 2 :(得分:0)

您需要做的就是将布局从 RelativeLayout 修改为LinearLayout,您就可以了。

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="60dp"
android:background="@drawable/msg_in"
android:orientation="vertical">

<com.fearefull.chatstory.Widgets.MyTextView
    android:id="@+id/nickname_message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:autoLink="none"
    android:layout_alignParentLeft="true"
    android:paddingBottom="7dp"
    android:paddingLeft="16dp"
    android:paddingRight="12dp"
    android:paddingTop="5dp"
    android:text="adawd awdaw"
    android:textStyle="bold"
    android:textColor="@android:color/holo_green_light"
    android:textSize="18sp"
    tools:ignore="ObsoleteLayoutParam,RtlHardcoded" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <com.fearefull.chatstory.Widgets.MyTextView
        android:id="@+id/textview_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autoLink="none"
        android:paddingBottom="7dp"
        android:paddingLeft="16dp"
        android:paddingRight="12dp"
        android:paddingTop="5dp"
        android:text="dlsadfafawfafawawfawf a fawfawfafafkawmflaknfalfntigtggt"
        android:textColor="@android:color/black"
        android:textSize="17sp"
        tools:ignore="ObsoleteLayoutParam,RtlHardcoded" />

    <com.fearefull.chatstory.Widgets.MyTextView
        android:id="@+id/textview_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="11:15 PM"
        android:textColor="#a6abad"
        android:textSize="12sp"
        android:layout_gravity="end"
        android:padding="5dp"
        tools:ignore="RtlHardcoded" />
</RelativeLayout>

答案 3 :(得分:0)

试试这个

 <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="60dp"
        android:background="@drawable/msg_in"
        android:orientation="vertical">

        <com.fearefull.chatstory.Widgets.MyTextView
            android:id="@+id/nickname_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:autoLink="none"
            android:layout_alignParentLeft="true"
            android:paddingBottom="7dp"
            android:paddingLeft="16dp"
            android:paddingRight="12dp"
            android:paddingTop="5dp"
            android:text="adawd awdaw"
            android:textStyle="bold"
            android:textColor="@android:color/holo_green_light"
            android:textSize="18sp"
            tools:ignore="ObsoleteLayoutParam,RtlHardcoded" />

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <com.fearefull.chatstory.Widgets.MyTextView
                android:id="@+id/textview_message"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:autoLink="none"
                android:paddingBottom="7dp"
                android:paddingLeft="16dp"
                android:paddingRight="12dp"
                android:paddingTop="5dp"
                android:layout_toLeftOf="@+id/textview_time"
                android:text="dlsadfafawfafawawfawf a fawfawfafafkawmflaknfalfntigtggt"
                android:textColor="@android:color/black"
                android:textSize="17sp"
                tools:ignore="ObsoleteLayoutParam,RtlHardcoded" />

            <com.fearefull.chatstory.Widgets.MyTextView
                android:id="@+id/textview_time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="11:15 PM"
                android:textColor="#a6abad"
                android:textSize="12sp"
                android:layout_alignBottom="@id/textview_message"
                android:layout_alignParentRight="true"
                android:padding="5dp"
                tools:ignore="RtlHardcoded" />
        </RelativeLayout>

    </LinearLayout>
相关问题