- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个必须包含不同行的聊天。对于每一行我都制作了一个自己的布局文件,但问题是一行的布局文件不适合屏幕。
我需要更改行布局中的哪些内容才能使其适合。您会找到代码以及我正在尝试的打印屏幕。
代码
列表适配器 公共(public)类 ChatListAdapter 扩展 BaseAdapter {
private ArrayList<String> ContentList;
private ArrayList<Integer> ChatUserList;
private static LayoutInflater inflater = null;
public ChatListAdapter(Activity activity, ArrayList<String> _ContentList,
ArrayList<Integer> _ChatUserList) {
ContentList = _ContentList;
ChatUserList = _ChatUserList;
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return ContentList.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
TextView tv_text;
TextView tv_date;
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
if (ChatUserList.get(position) == 1) {
// I'm RECIVER -> Message is left align
vi = inflater.inflate(R.layout.rowlayout_leftalign, null);
tv_text = (TextView) vi.findViewById(R.id.tv_chat_leftalign);
tv_date = (TextView) vi.findViewById(R.id.tv_chat_leftalign_date);
} else {
// I'm SENDER -> Message is right align
vi = inflater.inflate(R.layout.rowlayout_rightalign, null);
tv_text = (TextView) vi.findViewById(R.id.tv_chat_rightalign);
tv_date = (TextView) vi.findViewById(R.id.tv_chat_rightalign_date);
}
tv_date.setText(sdf.format(new Date()));
tv_text.setText(ContentList.get(position));
tv_text.setMaxWidth(((Chat.display.getWidth() / 4) * 3));
return vi;
}
RowLayout XML 左侧(蓝色气泡)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@android:color/transparent" >
<RelativeLayout
android:id="@+id/ly_rf_row_r"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginBottom="2.5dp"
android:layout_marginTop="2.5dp"
android:background="@drawable/shape_rightalign"
android:paddingBottom="2.5dp"
android:paddingTop="2.5dp" >
<TextView
android:id="@+id/tv_chat_rightalign"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="right"
android:paddingBottom="2dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="2dp"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/tv_chat_rightalign_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="-3dp"
android:layout_marginLeft="-3dp"
android:layout_toLeftOf="@id/tv_chat_rightalign"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:textColor="@android:color/black"
android:textSize="8.5dp" />
</RelativeLayout>
</RelativeLayout>
RowLayout XML 右(红色气泡)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@android:color/transparent" >
<RelativeLayout
android:id="@+id/ly_rf_row_l"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginBottom="2.5dp"
android:layout_marginTop="2.5dp"
android:background="@drawable/shape_leftalign"
android:paddingBottom="2.5dp"
android:paddingTop="2.5dp" >
<TextView
android:id="@+id/tv_chat_leftalign"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:gravity="left"
android:paddingBottom="2dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="2dp"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/tv_chat_leftalign_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="-3dp"
android:layout_marginLeft="-3dp"
android:layout_toRightOf="@id/tv_chat_leftalign"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:textColor="@android:color/black"
android:textSize="8.5dp" />
</RelativeLayout>
</RelativeLayout>
最佳答案
对于 XML 添加 android:layout_width="fill_parent"
和 android:layout_height="wrap_content"
如下所示
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@android:color/transparent"
android:layout_height="wrap_content"
android:layout_width="fill_parent" >
等等……
关于android - 自己编码的聊天中的 ListView Rowlayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11226884/
我对 Qt Widgets 有一些经验,但最近才开始使用 QML。 我面临的问题是,我希望 QML 中定义的某些布局能够自动调整以适应其内容。这有效,但不是动态的,即如果内容改变布局不会适应。使用旧式
我要对齐 Rectangle s 在 RowLayout左到右。在下面的代码示例中,两个 Rectangle s 共享额外的空间,而不是一个接一个地堆叠。我用过 Layout.alignment: Q
我想将 RowLayout 中的最后一个项目右对齐,但即使 RowLayout 的宽度大于所有子项的宽度,该项目仍紧跟在其他项目之后。如果我使用 anchors.right:parent.right
我想将 RowLayout 中的最后一个项目右对齐,但即使 RowLayout 的宽度大于所有子项的宽度,该项目仍紧跟在其他项目之后。如果我使用 anchors.right:parent.right
我正在尝试构建一个自定义控件,我可以将其他控件(Button s、Slider s、编辑字段等)组合在一起。 控件应该出现在窗口的右侧并且应该有一个固定的 width的 200 .这工作正常: Row
我在水平 RowLayout 中有两个元素。我可以为第二个元素指定(最小)(例如 200 px)。此外... a) 如果 shell 的总宽度太小,第二个元素将换行。这与 RowLayout 配合得很
我想做什么 我正在尝试创建一个必须包含不同行的聊天。对于每一行我都制作了一个自己的布局文件,但问题是一行的布局文件不适合屏幕。 问题 我需要更改行布局中的哪些内容才能使其适合。您会找到代码以及我正在尝
我已阅读文章 Understand SWT Layout ,但我找不到以从右到左的方式将多个按钮放入容器中的方法。 我该怎么做? 最佳答案 可以通过传递给容器元素的 SWT.RIGHT_TO_LEFT
我想显示一个 5 列 9 行的表格。该表将显示 45 个按钮,每个按钮的按钮文本中都会写有数字。第一列包含从 1 到 9 的数字,因此按钮的宽度小于接下来的四列,因为接下来的列包含两位数的数字。 目标
SWT 的 RowLayout 可以很好地满足此目的,但我希望所有包含文本的小部件在字体基线上垂直对齐。 是否有现成的自定义布局可以执行此操作? Snippet204.java可能有实现它需要什么,但
这是一个简单的例子: RowLayout { spacing: 5 ColumnLayout { Text { Layout.fillWidth: true
放入TextField后在RowLayout我无法调整 TextField 的大小不再了。我尝试设置anchor为TextField填充 RowLayout 的左侧及其中心,使其成为 width 的一
有没有办法改变在行布局中创建的元素的顺序,我想在第一个显示的元素中显示它。例如,如果我创建 element1,然后创建 element2 element3、element4 我希望将布局视为元素4 元
我想将 RowLayout 的项目布局在其容器内均匀分布。但是,当其父级是 ColumnLayout 时,以某种方式设置 RowLayout 的 Layout.fillWidth 属性不会产生任何效果
我正在编写一个应该支持 RTL 和 LTR 语言的 qml 应用程序,界面需要有一定的灵 active , anchor 可能不会产生好的 UI 所以我计划使用 qml Grid、Column 和 R
我是一名优秀的程序员,十分优秀!