android - 包装内容不起作用

标签 android android-layout android-studio

**item_my_message.xml**

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent">

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="72dp"
    android:background="@drawable/my_message_style"
    android:elevation="4dp"
    android:padding="8dp">

    <TextView
        android:id="@+id/textView_mymessge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/textView_time"
        android:text="asdasd"
        android:textColor="@color/colorPrimaryBackgorund" />

    <TextView
        android:id="@+id/textView_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView_mymessge"
        android:layout_alignParentRight="true"
        android:background="@android:color/transparent"
        android:text="12:00 pm"
        android:paddingRight="6dp"
        android:textColor="@color/colorHint"
        android:textSize="12dp" />
</RelativeLayout>
</RelativeLayout>


package pruebas.integra.Activites;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Locale;
import java.util.TimeZone;

import pruebas.integra.Adapters.MensajeAdapter;
import pruebas.integra.Models.ConversationModel;
import pruebas.integra.R;

public class ChatConversationActivity extends AppCompatActivity {
Context context;
TextView textViewNombre;
TextView textViewEstado;
ImageView imgEstado;
EditText mensaje;
MensajeAdapter mensajeAdapter;
Button btnEnviarMensaje;
ArrayList<ConversationModel> mensajeChat;
ListView listView;
Calendar c;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_chat_conversation);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    context = this;
    c = Calendar.getInstance();

    imgEstado = (ImageView) findViewById(R.id.imageView_state);
    String nombre = getIntent().getExtras().getString("value");
    Boolean state = getIntent().getExtras().getBoolean("estado");
    textViewEstado = (TextView) findViewById(R.id.textView_state);
    if (state == true) {
        textViewEstado.setText("Conectado");
             textViewEstado.setTextColor(context.getResources().getColor(android.R.color.holo_green_light));
        imgEstado.setColorFilter((context.getResources().getColor(android.R.color.holo_green_light)));

    } else {
        textViewEstado.setText("Desconectado");
        textViewEstado.setTextColor(context.getResources().getColor(R.color.colorPrimaryBackgorund));
        imgEstado.setColorFilter(R.color.colorPrimaryBackgorund);
    }

    final TimeZone tz = TimeZone.getDefault();
    textViewNombre = (TextView) findViewById(R.id.txtchatNombre);
    textViewNombre.setText(nombre);

    btnEnviarMensaje = (Button) findViewById(R.id.btn_enviarmensaje);
    mensajeChat = new ArrayList<ConversationModel>();
    listView = (ListView) findViewById(R.id.listView_mensajes_conversacion);
    mensaje = (EditText) findViewById(R.id.editText_mensaje);

    mensajeAdapter = new MensajeAdapter(context, mensajeChat);
    listView.setAdapter(mensajeAdapter);

    btnEnviarMensaje.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mensaje.getText().toString() == null && mensaje.getText().toString() == " ") {

            } else {
                ConversationModel conversation = new ConversationModel();
                //mensaje.getText().append("\ud83d\ude01"); //EMOJI
                conversation.setMensaje(mensaje.getText().toString());
                String temp = Integer.toString(c.get(Calendar.HOUR_OF_DAY)) + ":" + Integer.toString(c.get(Calendar.MINUTE));
                conversation.setTime(temp);
                mensajeChat.add(conversation);
                mensajeAdapter.notifyDataSetChanged();
                mensaje.setText("");
                listView.smoothScrollToPosition(mensajeAdapter.getCount());
            }
        }
    });

}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            onBackPressed();
            break;
    }
    return super.onOptionsItemSelected(item);
}

@Override
public void onBackPressed() {
    finish();
}

我有一个用于聊天的项目,问题是包装内容不起作用,布局本身保持一定宽度而不是根据其内容我似乎找不到原因它在这样做吗?

This is how it looks, it is supposed to wrap the content

最佳答案

我不完全明白你在问什么但我认为问题是第一个 textView 你有

android:layout_alignParentLeft="true"

还有第二个

android:layout_alignParentRight="true"

对于第二个 textView 不要使用 align parent 属性而是使用

android:layout_toRightOf="@+id/textView_mymessge"

如果您希望时间位于消息的右侧使用

android:layout_below="@+id/textView_mymessge"

如果您希望消息下方有时间

关于android - 包装内容不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38149275/

相关文章:

java - 如何在 Android 上的 Realm 中使用构造函数

javascript - 无法在 react-native android 中设置 ShadowColor

Android工作室布局xml不更新

android-studio - Android Studio 的渲染问题

java - 我想制作一个 recyclerview,将数据显示到 SQLITE 数据库中的新 Activity

android - 可绘制文件夹中图像的名称红色

android - 如何从 Android 手机获取 GPS 数据?

android - 在不一致的位置观察到包 id 'build-tools;20.0.0'

android - 设计新的 Android 应用程序时是否必须遵守 Holo 主题?

Android Studio 支持库 SlidePanel