ngui scrollview里动态添加个textView

2015年01月23日 13:27 0 点赞 0 评论 更新于 2025-11-21 15:13

许多朋友和我一样,最初对于如何在NGUI ScrollView里动态添加TextView感到困惑。今天,我们就来详细探讨这个问题。

示例代码:OneTab类

以下是OneTab类的Java代码,该代码用于加载tab的内容页面。

public class OneTab extends Activity implements OnTouchListener {
// 点击计数
int count = 0;
// 第一次点击时间
long firClick;
// 第二次点击时间
long secClick;
// 要添加的TextView
TextView textView;
// 线性布局
private LinearLayout mLayout;

/**
* 当Activity首次创建时调用
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置布局文件
setContentView(R.layout.onetabgridview);
// 获取线性布局对象
mLayout = (LinearLayout) findViewById(R.id.layout);

// 取得GridView对象
GridView gridview = (GridView) findViewById(R.id.gridview);
// 设置GridView可在触摸模式下获取焦点
gridview.setFocusableInTouchMode(true);

// 添加元素给gridview
gridview.setAdapter(new ImageAdapter(this));
// 设置gridview的背景
gridview.setBackgroundResource(R.drawable.bg);
// 设置gridView的双击事件监听器
gridview.setOnTouchListener(this);
}

/**
* 处理触摸事件
*/
@Override
public boolean onTouch(View v, MotionEvent event) {
// 处理双击事件
if (MotionEvent.ACTION_DOWN == event.getAction()) {
count++;
if (count == 1) {
// 记录第一次点击时间
firClick = System.currentTimeMillis();
} else if (count == 2) {
// 记录第二次点击时间
secClick = System.currentTimeMillis();
// 判断是否为双击(两次点击时间间隔小于1000毫秒)
if (secClick - firClick < 1000) {
// 创建新的TextView
textView = new TextView(this);
// 设置TextView的文本
textView.setText("aaaaaaaaaaaaa");

// 双击事件,动态给ScrollView增加控件
// 设置线性布局的属性
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
// 将TextView添加到线性布局中
mLayout.addView(textView, params);
}
// 重置点击计数和点击时间
count = 0;
firClick = 0;
secClick = 0;
}
}
return true;
}
}

代码解释

  1. 类定义和成员变量OneTab类继承自Activity并实现了OnTouchListener接口。定义了几个成员变量,包括点击计数count、两次点击的时间firClicksecClick、要添加的TextView对象textView以及线性布局mLayout
  2. onCreate方法:在Activity创建时调用,设置布局文件,获取线性布局和GridView对象。为GridView设置适配器、背景,并添加触摸事件监听器。
  3. onTouch方法:处理触摸事件,通过记录两次点击的时间来判断是否为双击。当检测到双击时,创建一个新的TextView,设置其文本,然后将其添加到线性布局中。

通过上述代码,我们可以在NGUI ScrollView(这里通过线性布局模拟)里动态添加TextView,并且是在GridView的双击事件触发时进行添加。

作者信息

feifeila

feifeila

共发布了 3994 篇文章