我是LibGdx中UI元素的新手。我需要在我的Android App中添加一个文本字段,该文本字段是在LibGdx框架中构建的。请指出一个不使用舞台的好例子。
到目前为止,我还没有在任何应用中使用舞台。是否必须使用Stage来使用TextField及其监听器?
我试图找到的所有这些只是因为我需要键盘及其在TextField中捕获文本的灵活性。
请
答案 0 :(得分:1)
#include <stdio.h>
#include <stdlib.h>
char* upgradestring(char* oldtext)
{
int i, j, count = 0;
// compute 'count'
for(i = 0; oldtext[i]; i++)
{
if (oldtext[i] != ' ')
count++;
else if (i != 0 && oldtext[i - 1] != ' ')
count++;
}
char* newstr = malloc(count + 1); // PLUS ONE for the null terminator
if(!newstr) // check if malloc failed
{
printf("Malloc failed\n");
return 0;
}
// populate 'newstr'. We need to stop when either condition is false
for (i = 0, j = 0; (oldtext[i]) && j<(count+1); i++)
{
// Same as your code
}
// Assign the null terminator!
newstr[j] = '\0';
return newstr;
}
int main(void) {
char str1[] = "Chocolate Can Boost Your Workout" ;
// store the result of your function into 'newstr'
char* newstr = upgradestring(str1);
// print it
printf("%s\n", newstr);
// free it, since you no longer need it!
free(newstr);
return 0;
}
是scene2d API的一部分,因此需要使用TextField
。
Stage接收输入事件,并在适当的actor上触发它们。
如果您的应用需要向用户询问字符串,例如用户名或密码,您可以使用Stage
您可以查看here有关Gdx.input.getTextInput(...)