Я пытаюсь выровнять по правому краю элементы ListView, но они не сдвинутся с левой стороны. Атрибуты gravity и layout_gravity не работают.LinearLayout, используемый как макет элемента в ListView, не будет направо
Этот код также выравнивает макет справа в коде XML, но не во время выполнения при заполнении ListView.
Вот XML я использую, который также использует 9 патч изображение в качестве фона в LinearLayout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="0dp"
android:background="@drawable/my_9Patch_image"
android:id="@+id/contentLayout"
android:orientation="horizontal"
android:layout_gravity="right"
android:gravity="right"
>
<TextView
android:layout_width="wrap_content"
android:maxWidth="330dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:gravity="right"
android:textColor="#e5e5e5"
android:minHeight="0dp"
android:singleLine="false"
android:textSize="16dp">
</TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:textColor="#e5e5e5"
android:minHeight="0dp"
android:textSize="10dp"
android:layout_gravity="left|bottom"
android:gravity="left|bottom"
/>
</LinearLayout>
Я также попытался установить Params в методе GetView моего адаптера с помощью:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.RIGHT;
mLinearLayout.setLayoutParams(params);
Заранее благодарим за любую помощь.
Вы пытаетесь описать то, что вы хотите добиться? –
Спасибо за ответ. Я создаю приложение чата, для входящих сообщений сообщения идут слева, а отправленные сообщения идут справа. Каждый макет сообщения содержит сообщение и отметку времени. Я использую два разных макета XML и раздуваю соответствующий макет (макет входящего или исходящего сообщения) в методе getView адаптера. Спасибо –
нет. Я спрашиваю о макете, которую вы хотите увидеть? вы хотите иметь TextView слева, а другой - вправо. Это правда? –