我必须创建一个具有固定高度和宽度但具有大量内容的表格单元格; 用的东西overflow: auto.问题是我无法display: block在表格单元格上使用(它打破了表格布局)所以我尝试了这个:
height: 100px;
overflow: auto;
position: relative;
width: 1280px;
Run Code Online (Sandbox Code Playgroud)
但它不起作用.这是我的标记:
<tr>
<td colspan="3" style="width: 1280px; overflow:auto;">
{assign var="latime" value=$agenda|@count}
{assign var="latime" value=$latime*150}
<div style="width: 1280px; position: relative; overflow: auto; ">
<div style="width: {$latime}px; height: 100px; position:relative;">
{assign var="i" value=0}
{foreach from=$agenda item=ag}
{assign var="img" value=$agenda[$i][3]}
<img src="{$img}" id="imag{$i}" onclick='schimbaslidetoti({$i})' />
{assign var="i" value=$i+1}
{/foreach}
</div>
</div>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud) 好吧,这个主题已经并且仍然存在很多争论,我已经阅读了许多教程,提示并看到了有关它的讨论.但是当我达到某些行的复杂性时,我仍然遇到了为ListView实现自定义BaseAdapter的问题.所以我基本上拥有的是通过解析来自网络的xml获得的一些实体.另外我获取一些图像等等,所有这些都是在AsyncTask中完成的.我在getView()方法中使用性能优化的ViewHandler方法,并按照每个人的建议重用convertView.即我希望我正在使用ListView,因为它只是显示单个ImageView和两个TextViews,它们使用SpannableStringBuilder进行样式化(我不使用任何HTML.fromHTML)它真的很好用.
现在来了.每当我使用多个小型ImageView,一个Button以及一些使用SpannableStringBuilder进行不同样式设置的TextView扩展行布局时,我都会获得停止滚动的性能.该行包含一个RelativeLayout作为父级,所有其他元素都使用布局参数排列,因此我的布局不能使该行更简单.我必须承认,我从未见过任何包含许多UI元素的行的ListView实现示例.
但是,当我在ScrollView中使用TableLayout并使用AsyncTask(通过onProgressUpdate()稳定添加新行)手动填充它时,即使其中有数百行,它也表现得非常流畅.如果滚动到列表末尾,添加新行时会稍微绊倒一下.否则它比ListView更平滑,它在滚动时总是绊倒.
当ListView不想表现好时,有什么建议吗?我应该继续使用TableLayout方法还是建议使用ListView来优化性能?
这是我的适配器的实现:
protected class BlogsSeparatorAdapter extends BaseAdapter {
private LayoutInflater inflater;
private final int SEPERATOR = 0;
private final int BLOGELEMENT = 1;
public BlogsSeparatorAdapter(Context context) {
inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return blogs.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public int getItemViewType(int position) {
int type = BLOGELEMENT;
if (position == 0) {
type = SEPERATOR;
} else if …Run Code Online (Sandbox Code Playgroud) performance android tablelayout android-listview baseadapter
我目前想要为JPanels构建表格类型的布局.我发现有一个TableLayout for Java但我不知道如何导入它.另一方面,我发现有一个GridBagLayOut也可以构建一个像layout一样的表.但它似乎更复杂.任何建议.
我是Android新手,我正在尝试以编程方式将TableRow(我已经用xml创建)添加到TableLayout.我得到Force Closes,大多数都是NullPointerExcpetions.
这是我的java类
public class DayFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.subjects_list, container, false);
TableLayout tl = (TableLayout) view.findViewById(R.id.tl);
TableRow tr = (TableRow) view.findViewById(R.id.tr_row);
tl.addView(tr); //not working, obviously im missing something
//xml parsing stuff
return view;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我使用TableLayout的布局:
<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/horizontalScrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="5dp" >
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<TableLayout
android:id="@+id/tl"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<include
android:id="@+id/header"
layout="@layout/table_header" />
<include android:id="@+id/h_divider"
layout="@layout/horizontal_divider"/>
</TableLayout>
</ScrollView> …Run Code Online (Sandbox Code Playgroud) 我有一个简单的桌子,有一个标题和桌子.所有单元格都应该是固定宽度,只有一个是可变的(例如名称).
我需要table-layout: fixed在text-overflow: ellipsis可变宽度单元格上使用.
这是表格的CSS:
table {
width: 550px;
border: 1px solid #AAA;
table-layout: fixed;
border-collapse: collapse;
}
table td, table th {
border: 1px solid #DDD;
text-align: left;
padding: 5px 15px 5px 15px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.one {
width: 60px;
}
.two {
width: auto;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.three, .four, .five {
width: 90px;
}
Run Code Online (Sandbox Code Playgroud)
检查HTML以及演示.
我试图让这个表在所有浏览器中表现相同,但似乎在框中调整大小:在Safari中忽略border-box.虽然根据这个答案,它应该是旧版本的Safari中的错误的修复.
以下是它在Chrome中的外观:

以及它在Safari 6.0.3中的外观:

在我测试的所有较新的Safari for Mac中也存在此问题.我几乎肯定我一周前在Safari中测试了它,无论新旧,它都运行良好.它有点像新的Safari突然出现了一种新的bug.
我正在使用Safari Version …
我已经在windows窗体中创建了一个Table布局,如图所示,我添加了一个鼠标右键单击Menu到我的表,
我想将子菜单项添加到以下菜单项中,例如
当我点击add device它应该显示子项,如sounder,MCP,strobe等当我点击fault 它应该显示子项,例如open circuit fault,sounder fault`短路故障"等
这就是我创建menuitems的方式
ContextMenu m = new ContextMenu();
MenuItem addDevice = new MenuItem("Add Device");
MenuItem deleteDevice = new MenuItem("delete Device");
MenuItem fire = new MenuItem("Fire");
MenuItem fault = new MenuItem("Fault");
MenuItem suppress = new MenuItem("Suppress");
m.MenuItems.AddRange(new MenuItem[] { addDevice, deleteDevice, fire, fault,suppress});
tableLayout.ContextMenu = m;
m.Show((Control)(sender), e.Location);
Run Code Online (Sandbox Code Playgroud)
以下是我的表格和表格布局
http://i48.tinypic.com/33ok3cw.jpg http://i48.tinypic.com/33ok3cw.jpg
我正在开发一个 android 应用程序,它将允许用户创建民意调查。用户可以创建问题并提供一组选项。
我想提供一个功能,用户可以在其中动态添加或删除选项。
我无法决定哪种布局最好。
TableLayout - 每行可以包含一个选项。与 RecyclerView - 每个项目都可以是一个选项。
(请注意,每个选项实际上都是一个 EditText 视图,用户必须在其中输入选项内容。)
我见过人们通常将 RecyclerView 用于非常大的数据集,但对于我的用例,用户最多可以添加 5 或 6 个选项。除此之外,我将使用回收器视图来收集数据。对于这样的用例,使用 RecyclerView 或其他东西是一个不错的选择吗?
请提供建议
比方说,我的表中的列是id,name,description,和phone.该description列为1-255个字符,但id最多只有3个字符.
我希望列的大小合适,而不是每列的大小相同.description当窗口太小而不能完全适合内容时,我希望列溢出到省略号.
table-layout:fixed;是工作的标准方法text-overflow: ellipsis;,但它将所有列的大小调整为相同的大小.我宁愿保持宽度auto而不是固定.
你能帮我吗?
这是我的jsFiddle:http://jsfiddle.net/RQhkk/1/
这是我正在处理的截图:

请注意如何Table 1使所有列的大小相同?那是糟糕的.
请注意Table 2根据内容调整列的大小?非常好.除非内容太长:Table 3.然后它不适合.在那种情况下,我希望它溢出到省略号.
这是我的html表和css代码:
<div id="t1">
<table>
<thead>
<tr>
<th>id</th>
<th>name</th>
<th class="ellipsis">description</th>
<th>phone</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>alpha</td>
<td class="ellipsis">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</td>
<td>555-555-5555</td>
</tr>
<tr>
<td>2</td>
<td>beta</td>
<td class="ellipsis">Sed et nulla neque.</td>
<td>555-555-5555</td>
</tr>
<tr>
<td>3</td> …Run Code Online (Sandbox Code Playgroud) 如何将row_span应用于TableLayout?
我想做一些类似于这个图像,但我不知道该怎么做.

制作这样的东西的正确方法是什么?
tablelayout ×10
html ×5
android ×4
css ×4
java ×3
baseadapter ×1
c# ×1
contextmenu ×1
ellipsis ×1
html-table ×1
layout ×1
menu-items ×1
performance ×1
row ×1
swing ×1
tablerow ×1
winforms ×1
xml ×1