android 表格内的可聚焦行
我在 xml 中有一个 ScrollView,其中包括一个 TableLayout。 我的问题是,每次我单击它时是否可以有一个可聚焦的行。 这是我的 xml 代码:
<ScrollView
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableLayout
android:id="@+id/table2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableRow>
<RelativeLayout
android:id="@+id/rowlayout"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="@drawable/rowbackground2" >
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_code_contact"
android:padding="7dip"
android:layout_alignParentLeft="true" />
<TextView
android:id="@+id/contacts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="Contacts"
android:textColor="#000"
android:textSize="18dip"
android:layout_toRightOf="@id/icon"
android:paddingTop="10dip" />
</RelativeLayout>
</TableRow>
<TableRow>
<Button
android:id="@+id/contacts_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/contact_button" />
</TableRow>
我已经尝试过“focusable =“true””和“focusableInTouchMode =“true””但没有发生任何事情..
提前致谢
i have in xml a ScrollView which includes one TableLayout.
My question is if it's possible to have a focusable row every time i click on it.
Here is my xml code:
<ScrollView
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableLayout
android:id="@+id/table2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableRow>
<RelativeLayout
android:id="@+id/rowlayout"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="@drawable/rowbackground2" >
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_code_contact"
android:padding="7dip"
android:layout_alignParentLeft="true" />
<TextView
android:id="@+id/contacts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="Contacts"
android:textColor="#000"
android:textSize="18dip"
android:layout_toRightOf="@id/icon"
android:paddingTop="10dip" />
</RelativeLayout>
</TableRow>
<TableRow>
<Button
android:id="@+id/contacts_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/contact_button" />
</TableRow>
I have already tried the "focusable="true"" and "focusableInTouchMode="true"" but nothing happened..
thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果您询问如何使表格表现得像 ListView,我执行了以下操作:
在定义 Activity 布局的 xml 文件中,我定义了表格:
然后,我编写了单独的
table_row_item.xml
具有表行布局的文件:在“活动”中,我声明了向表中添加行的过程:
If you are asking about how to make table to behave like ListView, I did the following:
In xml-file, which defines layout for my Activity, I defined the table:
Then, I wrote separate
table_row_item.xml
file with table row layout:In Activity I declared procedure to add a row to my table:
您可以使用 GridView 并将 LinearLayout (水平)定义为行。使用此作为指南:http://www.learn2crack.com/2014 /01/android-custom-gridview.html
You can use a GridView and define a LinearLayout (horizontal) as your row. Use this as a guide: http://www.learn2crack.com/2014/01/android-custom-gridview.html
当然。 Row 有 onClick 属性,您可以在其中指定 onclick 方法的名称。
另一种方法是在 xml 中为该行指定一个 id - 名称。然后您可以从代码中调用它并添加 onClick 事件。
Of course. Row has onClick property where you can specify the name of your onclick method.
Other way is to give this row an id - name in your xml. Then you can call it from code and add onClick event.
这段代码将在您选择的可绘制背景(我猜您可以使用 null 来没有背景)和默认的 Android“选定”背景之间切换。
This code will flip between your choosen drawable background (I guess you can use null to have no background) and the default Android "selected" background.
如果您正在寻找一种简单有效的解决方案来在表格中显示数据,则此 TableView 可以满足您的需求。
If you are looking for a simple and effective solution for displaying data in a table this TableView will do the job.