Intereting Posts
Не удалось получить трансляцию android.intent.action.EVENT_REMINDER Есть ли способ поместить представление немного за пределы его родительского макета? Android – Снижение бликов на фотокамере (фото / видео) Переключение фрагментов – фрагмент карты Google V2 – активность была уничтожена Ошибка Требуется создать ускоренную прокрутку с передним charecter для отображения на экране, когда пользователь перетаскивает список алфавита Почему AudioRecord.getMinBufferSize возвращает ERROR_BAD_VALUE (-2)? Продолжительность жизни объектов в Java vs. .Net Намерение открыть профиль пользователя Instagram на Android Ошибка android.support.v8.rendscript на ProGuard Это против правил admob размещения двух объявлений в одной активности приложения? Позиция DialogFragment в Android React Native Android отпадает при попытке отладки в Chrome Как опубликовать сообщение на стене друзей facebook в Android Android – добавьте значение по умолчанию в базу данных GreenDao Как передать параметр в код Java в конфигурации запуска / отладки из Android Studio

Левая и правая строки выравнивания внутри Listview?

Моя цель ниже.

Введите описание изображения здесь

И у меня есть коды ниже
row_right.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/me" android:layout_gravity="right" android:layout_marginLeft="5dp" android:layout_marginRight="10dp" android:layout_marginBottom="5dp" android:layout_marginTop="5dp" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="5" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:layout_gravity="right" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:orientation="horizontal" > <TextView android:id="@+id/message" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#000000" android:text="TextView" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginBottom="5dp" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:orientation="horizontal" > <TextView android:id="@+id/dataAndTime" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#001199" android:text="gggggggghyjkljgfdgjlkhfdhklggg" /> </LinearLayout> </LinearLayout> 

row_left.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/you" android:layout_gravity="left" android:layout_marginLeft="10dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_marginTop="5dp" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="5" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:layout_gravity="right" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:orientation="horizontal" > <TextView android:id="@+id/message" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#000000" android:text="TextView" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginBottom="5dp" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:orientation="horizontal" > <TextView android:id="@+id/dataAndTime" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#001199" android:text="gggggggggg" /> </LinearLayout> </LinearLayout> 

main.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#FFFFFF" > <ListView android:id="@android:id/list" android:layout_width="wrap_content" android:layout_height="0px" android:layout_weight="1" android:scrollbars="vertical" android:divider="@null" android:dividerHeight="0dp" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/content" android:layout_width="253dp" android:layout_height="wrap_content" android:autoText="false" android:capitalize="none" android:ems="10" android:scrollHorizontally="true" android:singleLine="true" android:textSize="16sp" android:hint="Enter text" > </EditText> <Button android:id="@+id/send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send" /> </LinearLayout> </LinearLayout> 

Но мой результат

Введите описание изображения здесь

Как я могу это исправить?

Update1
Мой списокAdapter.java

 public class ListAdapter1 extends BaseAdapter { private LayoutInflater myInflater; private List<SmsInformation> list; public ListAdapter1(Context context) { myInflater = LayoutInflater.from(context); } public void setData(List<SmsInformation> list2) { this.list = list2; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { if (list.get(position).getTypeOfSms().equals("send")) convertView = myInflater.inflate(R.layout.raw_left, null); else convertView = myInflater.inflate(R.layout.raw_right, null); holder = new ViewHolder(); holder.message = (TextView) convertView.findViewById(R.id.message); holder.dateAndTime = (TextView) convertView.findViewById(R.id.dataAndTime); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.message.setText(list.get(position).getMessageContent()); holder.dateAndTime.setText(list.get(position).geTime()+list.get(position).getDate()); return convertView; } static class ViewHolder { TextView message; TextView dateAndTime; } } 

Solutions Collecting From Web of "Левая и правая строки выравнивания внутри Listview?"

Сделанные изменения:

~ row_right.xml & row_left.xml , атрибут layout_width родительского LinearLayout должен быть установлен в wrap_content вместо match_parent

~ В main.xml , атрибут layout_width ListView должен быть установлен в match_parent . Не wrap_content

Попробуйте следующий код:

~ Row_right.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/me" android:layout_alignParentRight="true" android:layout_marginLeft="5dp" android:layout_marginRight="10dp" android:layout_marginBottom="5dp" android:layout_marginTop="5dp" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="5" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:layout_gravity="right" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:orientation="horizontal" > <TextView android:id="@+id/message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#000000" android:text="TextView" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:layout_marginBottom="5dp" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:orientation="horizontal" > <TextView android:id="@+id/dataAndTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#001199" android:text="gggggggghyjkljgfdgjlkhfdhklggg" /> </LinearLayout> </LinearLayout> </RelativeLayout> 

~ Row_left.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="match_parent" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/you" android:layout_alignParentLeft="true" android:layout_marginLeft="10dp" android:layout_marginRight="5dp" android:layout_marginBottom="5dp" android:layout_marginTop="5dp" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="5" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:layout_gravity="right" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:orientation="horizontal" > <TextView android:id="@+id/message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#000000" android:text="TextView" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:layout_marginBottom="5dp" android:layout_marginLeft="5dp" android:layout_marginRight="15dp" android:orientation="horizontal" > <TextView android:id="@+id/dataAndTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right" android:textSize="15sp" android:textColor="#001199" android:text="gggggggggg" /> </LinearLayout> </LinearLayout> </RelativeLayout> 

~ Main.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#FFFFFF" > <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="0px" android:layout_weight="1" android:scrollbars="vertical" android:divider="@null" android:dividerHeight="0dp" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/content" android:layout_width="253dp" android:layout_height="wrap_content" android:autoText="false" android:capitalize="none" android:ems="10" android:scrollHorizontally="true" android:singleLine="true" android:textSize="16sp" android:hint="Enter text" > </EditText> <Button android:id="@+id/send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send" /> </LinearLayout> </LinearLayout> 

Просто догадка. В main.xml измените ширину вашего ListView на match_parent . Также добавьте соответствующий вес в макет, содержащий EditText и button . Теперь все пространство будет присвоено listView.