RelativeLayout не работатет ALIGN_PARENT_RIGHT?

Интерфейс, диалоги, темы, стили, меню
Ответить
JDev
Сообщения: 88
Зарегистрирован: 05 авг 2012, 19:42

RelativeLayout не работатет ALIGN_PARENT_RIGHT?

Сообщение JDev » 30 ноя 2012, 22:18

Здравствуйте, вот я не могу понять, почему не работает мой код, - выравнивает только по левому краю и все,

Код: Выделить всё

	private void addMessageToStage(Message message) {
		LinearLayout scrollChatMessagesOutput = (LinearLayout) findViewById(R.id.chatMessagesOutput);

		LayoutInflater layoutInflater = getLayoutInflater();
		View view = layoutInflater.inflate(R.layout.chat_single_message, null, false);
		TextView messageTextView = (TextView) view.findViewById(R.id.singleChatMessageTextView);

		RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);

		if (messagesAlignId % 2 == 0) {
			params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
			messageTextView.setBackgroundResource(R.drawable.chat_input_message_shape);
		} else {
			params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
			messageTextView.setBackgroundResource(R.drawable.chat_output_message_shape);
		}

		messageTextView.setText(Html.fromHtml("<b><u>" + message.getMessage() + "<font color=\"#cccccc\" size=\"4px\">" + "\n" + message.getTime() + "</font></b></u>"));
		RelativeLayout messageAlignLayout;
		messageAlignLayout = new RelativeLayout(this);
		messageAlignLayout.addView(view, params);

		scrollChatMessagesOutput.addView(messageAlignLayout);

	}
chatMessagesOutput - обычный вертикальный LinearLayout.

вот - chat_single_message

Код: Выделить всё

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/chatMessage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="1.0" >

    <TextView
        android:id="@+id/singleChatMessageTextView"
        style="@style/singleChatMessageTextStyle" />

</LinearLayout>
вот - singleChatMessageTextStyle

Код: Выделить всё

    <style name="singleChatMessageTextStyle" parent="@android:style/TextAppearance.Small">
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_marginBottom">10dp</item>
        <item name="android:layout_marginLeft">5dp</item>
        <item name="android:layout_marginRight">5dp</item>
        <item name="android:padding">3dp</item>
        <item name="android:layout_weight">0.7</item>
        <item name="android:textColor">#000000</item>
        <item name="android:typeface">sans</item>
        <item name="android:textSize">12sp</item>
    </style>
Подскажите, а то не пойму где зарыто, уже много часов потратил на поиски глюка. (((
Спасибо.

Аватара пользователя
Finch
Сообщения: 439
Зарегистрирован: 16 июл 2012, 21:37

Re: RelativeLayout не работатет ALIGN_PARENT_RIGHT?

Сообщение Finch » 30 ноя 2012, 23:06

messageTextView.setLayoutParams(params);
CEO of a company R.id.team

JDev
Сообщения: 88
Зарегистрирован: 05 авг 2012, 19:42

Re: RelativeLayout не работатет ALIGN_PARENT_RIGHT?

Сообщение JDev » 30 ноя 2012, 23:21

Да, моя ошибка, - это я уже просто экспериментировал чуток, но даже если WRAP_CONTENT, то выравнивает, но делает какой-то странный отступ, и чем длиннее сообщение, тем ближе к левому краю (
Прикрепил скрин.
Вложения
5554AVD_4.0.png
5554AVD_4.0.png (38 КБ) 3927 просмотров

Аватара пользователя
Finch
Сообщения: 439
Зарегистрирован: 16 июл 2012, 21:37

Re: RelativeLayout не работатет ALIGN_PARENT_RIGHT?

Сообщение Finch » 30 ноя 2012, 23:32

попробуй гравити для текста поставь right когда с права, чтоб писало с права на лево
CEO of a company R.id.team

JDev
Сообщения: 88
Зарегистрирован: 05 авг 2012, 19:42

Re: RelativeLayout не работатет ALIGN_PARENT_RIGHT?

Сообщение JDev » 30 ноя 2012, 23:52

Попробовал и

Код: Выделить всё

messageTextView.setGravity(Gravity.RELATIVE_LAYOUT_DIRECTION);
messageTextView.setGravity(Gravity.RIGHT);
Не работает

Ответить