我正在使用Tablerow + TextView为博客文章及其回复制作一个简单的视图.在每个TableRow中我都放了一个TextView.现在我有两个问题:
比屏幕长的文本不会自动换行为多行.是TableRow的设计吗?我已经设置了tr_content.setSingleLine(false);[更新]这已经解决,我想我应该在textView中将Fill_parent更改为Wrap_content.tr_author_time.setLayoutParams(new LayoutParams(
LayoutParams.**WRAP_CONTENT**,
LayoutParams.WRAP_CONTENT));
表格不会像ListView一样滚动.我的行数大于屏幕大小.我希望该表可以向下滚动以便像ListView一样查看.那可能吗?
这是我的代码:
TableLayout tl = (TableLayout) findViewById(R.id.article_content_table);
TextView tr_title = new TextView(this);
TextView tr_author_time = new TextView(this);
TextView tr_content = new TextView(this);
TableRow tr = new TableRow(this);
for(int i = 0; i < BlogPost.size(); i++){
try{
// add the author, time
tr = new TableRow(this);
/////////////////add author+time row
BlogPost article = mBlogPost.get(i);
tr_author_time = new TextView(this);
tr_author_time.setText(article.author+"("+
article.post_time+")");
tr_author_time.setTextColor(getResources().getColor(R.color.black));
tr_author_time.setGravity(0x03);
tr_author_time.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
tr.addView(tr_author_time);
tl.addView(tr,new TableLayout.LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
////////////////////// …Run Code Online (Sandbox Code Playgroud) 比方说,我的表中的列是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.它包含四个TableRows,每个TableRows包含四个ImageView.我想要的行为是缩放布局以适应最短的尺寸.
它在纵向模式下工作正常但在横向模式下失败.
从文档看起来这是因为TableRow layout_height始终设置为WRAP_CONTENT.虽然我可以设置各个视图的尺寸,但如果我将View layout_height设置为FILL_PARENT,则TableLayout根本不会渲染.
我觉得我有一些简单的东西.有没有办法让TableLay与TableRows一起缩放以适应横向模式的高度?
XML布局:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/table"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="*">
</TableLayout>
Run Code Online (Sandbox Code Playgroud)
Java的:
public class Example extends Activity {
private TableLayout mTable;
private int[] mDrawableIds = { R.drawable.draw01, R.drawable.draw02, R.drawable.draw03, R.drawable.draw04, R.drawable.draw05, R.drawable.draw06, R.drawable.draw07, R.drawable.draw08, R.drawable.draw09, R.drawable.draw10, R.drawable.draw11, R.drawable.draw12, R.drawable.draw13, R.drawable.draw14, R.drawable.draw15, R.drawable.draw16 };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTable = (TableLayout)findViewById(R.id.table);
for (int j=0; j<4; j++) {
TableRow tr = new TableRow(this);
tr.setLayoutParams(new ViewGroup.LayoutParams( LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
for (int i=0; …Run Code Online (Sandbox Code Playgroud) 我有以下内容
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/admin_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal">
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:background="@color/silver">
Run Code Online (Sandbox Code Playgroud)
我动态填充表格,但相对布局为彩色银色,它只占表格行的3/4左右.如果我将LinearLayout设置为水平方向,它会完全跨越,但如果我将其更改为垂直,则会出现同样的问题.我需要在表行中使用相对布局,因为我需要这样的东西:
价值
细节更多细节.
有关获得相对布局跨越表行的任何想法?
在3x3格式中TableLayout有9 Buttons个.如何使用TableLayout(不是按钮ID)的id以编程方式访问这些按钮上的文本?
我正在创建一个Android应用程序.此Android应用程序将具有动态对象.这些对象是具有地址或纬度/经度的位置,与当前位置的距离以及ETA.我想要做的是在TableLayout带边框的对象上添加对象,但我需要能够随着场所数量的增加动态添加行.
我对xml上的固定硬编码项目有一些了解,但是当对象数量来自Activity.java文件时,最好的方法是什么?
以下是TableLayout我想要的截图:

因此,对象将是一个具有地址,距离和方向的地方.
我的listview项目由三列和三行组成.我使用TableLayout.列之间的空间不统一但我通过设置margin来管理.现在布局看起来很完美.
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/dp18"
android:paddingLeft="@dimen/dp16"
android:paddingTop="@dimen/dp18"
android:stretchColumns="0,1,2">
<TableRow>
..
</TableRow>
<TableRow>
..
</TableRow>
<TableRow>
..
</TableRow>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)
但我想知道什么是理想的方法?如果我使用了四个LinearLayout(一个外部水平线性布局和三个内部垂直线性布局用于三列),那么在优化和性能方面会有什么不同.当TableRow扩展LinearLayout然后间接我只使用LinearLayout.
那么,使用单个TableLayout而不是多个LinearLayout有什么好处,因为TableRow只扩展了LinearLayout?
是否有可能在Github gist markdown中心有一张桌子?如果是这样,怎么样?
我使用以下语法在markdown文件上创建表:
Somehow the table is always flushed to the left!!!
|Column1|Column1|Column1|
|:----|:----:|----:|
|Column1|Column1|Column1|
Run Code Online (Sandbox Code Playgroud)
但是表格是左边的,请参阅https://gist.github.com/alvations/5095d3bcc0eec357c78f1c21a49e334f
查看时是否可以将表格放在页面的中心?
我试过/sf/answers/1724765591/的建议来使用:
Somehow the table is always flushed to the left!!!
<center>
|Column1|Column1|Column1|
|:----|:----:|----:|
|Column1|Column1|Column1|
</center>
Run Code Online (Sandbox Code Playgroud)
查看时表格消失,请参阅https://gist.github.com/alvations/cd3495e7107b7701cf1cf1da2a839534
Still on the left!!!
<p align="center">
|Column1|Column1|Column1|
|:----|:----:|----:|
|Column1|Column1|Column1|
</p>
Run Code Online (Sandbox Code Playgroud)
但它仍在左侧,请参阅https://gist.github.com/alvations/23c18681df7a6bbf175d0e8c2cfccba3
以上所有3个版本的图片:
tablelayout ×10
android ×8
html ×2
tablerow ×2
border ×1
button ×1
center-align ×1
css ×1
ellipsis ×1
github ×1
grid-layout ×1
html-table ×1
java ×1
markdown ×1
row ×1
textview ×1