我在xml中有一个包含一个TableLayout的ScrollView.我的问题是,每次点击它时是否可以有一个可聚焦的行.这是我的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>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了"focusable ="true""和"focusableInTouchMode ="true""但没有发生任何事情.
提前致谢
我一直试图在listbox/listview中显示一些不可聚焦的数据(我的意思不仅是列表,还包括其中的项目).
我尝试了两种类型的列表(listbox和listview),我使用了他们的ItemTemplate和ItemContainerStyle.无论我在哪里,我都将Focusable属性设置为false.
除了禁用列表之外,我没有看到任何其他方式,但是我必须更改其所有样式,以使其显示为未禁用.
我错过了什么吗?是否有我不知道的只读类型的列表?
谢谢你的想法:)
我遇到了这段代码:
public class Board extends JPanel implements ActionListener{
public Board(){
setFocusable(true);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我将setFocusable设为true,那么该方法究竟对JPanel的对象做了什么?关注组件的概念是什么?
基于Java API,此方法位于Component Class(JPanel的超类)中.方法说明指出"将此Component的可聚焦状态设置为指定值.此值将覆盖Component的默认可聚焦性." 这个描述对我来说听起来太技术性和高级行话(他们在夏天刚刚完成了Java课程).有时候,我认为这些方法描述不是为所有具有不同Java知识水平的人编写的.有人可以用非专业术语解释方法描述吗?
在MainActivity中有onItemClick,而活动iplements OnItemClickListener.一切都非常简单,这个监听器的结果是当用户触摸ListView的项目时在屏幕上打印Toas消息.但onItemClick函数不起作用,为什么?[logCat没有错误]提前感谢.
这是我的主要活动代码:
package com.prendonota;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;
import com.prendonota.activeRecord.Nota;
import com.prendonota.crud.NotaCrud;
public class MainActivity extends Activity implements OnItemClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//*** identifico la ListView che ho usato nell'xml
ListView listView = (ListView)findViewById(R.id.listaNote);
//*** accedo al DB per prendere le note
NotaCrud crud = new NotaCrud(this);
List<Nota> listaNote = crud.getListNotes();
//*** tramite il custom adapter …Run Code Online (Sandbox Code Playgroud) 如果我将我的ImageView设置为可点击和可聚焦,它可以工作,但我无法分辨哪个图像是聚焦的.让它在视图周围绘制橙色边框的最佳方法是什么,以便用户知道它目前处于焦点位置?
我尝试将它放在LinearLayout中并将其设置为可聚焦且可点击,但没有任何运气.即使我在上面留有余量,也没有任何迹象表明它已被选中.
好的,所以我有这个关键的监听器用于我的游戏并且它不起作用但是当我做一个新项目只是为了测试它对我来说它有用吗?所以这是我游戏的一些代码:
public class GameKeyListener implements KeyListener {
private void pressMainWeapon() {
Constants.MAIN_WEAPON_PRESSED = Constants.MAIN_WEAPON_PRESSED ? true : false;
}
private void pressSecondaryWeapon() {
Constants.SECONDARY_WEAPON_PRESSED = Constants.SECONDARY_WEAPON_PRESSED ? true : false;
}
private void pressSkillsButton() {
Constants.SKILLS_BUTTON_PRESSED = Constants.SKILLS_BUTTON_PRESSED ? true : false;
}
private void gameKeyPressed(int keyCode) {
switch (keyCode) {
case KeyEvent.VK_Q:
pressMainWeapon();
break;
case KeyEvent.VK_E:
pressSecondaryWeapon();
break;
case KeyEvent.VK_TAB:
pressSkillsButton();
break;
case KeyEvent.VK_W:
Constants.CHARACTER_Y -= 5;
break;
case KeyEvent.VK_A:
Constants.CHARACTER_X -= 5;
break;
case KeyEvent.VK_S:
Constants.CHARACTER_Y += 5; …Run Code Online (Sandbox Code Playgroud)