我有一个子类视图,当它在onTouchEvent中收到"修饰"时弹出键盘.它通过请求焦点,检索InputMethodManager,然后调用showSoftInput来显示此信息.
现在我需要弄清楚如何在按下它们时捕获软键盘的敲击字母.我目前只在软键盘上按下"下一个/完成"按钮时得到响应.
这是我的班级:
public class BigGrid extends View {
private static final String TAG = "BigGrid";
public BigGrid(Context context) {
super(context);
setFocusableInTouchMode(true); // allows the keyboard to pop up on
// touch down
setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
Log.d(TAG, "onKeyListener");
if (event.getAction() == KeyEvent.ACTION_DOWN) {
// Perform action on key press
Log.d(TAG, "ACTION_DOWN");
return true;
}
return false;
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
Log.d(TAG, "onTOUCH");
if …Run Code Online (Sandbox Code Playgroud) 问题标题几乎让它消失了 - 我希望我的应用程序记住一些事情.它是某种计算器,因此它应该保存最后使用的值和一些用户可选择的设置.
基本上我想保存一些浮动和BOOL并在下次加载应用程序时再次加载它们.
什么是最好最简单的方法?
谢谢!!
我正在尝试使用ios5向tabBarController添加第3个选项卡.将其拖出到故事板时获得的标准对象有2个选项卡.有谁知道如何做到这一点?我搜索了互联网,所有的例子都从他们的tabBarController开始,带有额外的标签而没有显示如何获得它.
如果你根据标题来讨论这个问题,但对蒙古语不感兴趣,你可能会寻找这个问答:
我一直在学习Swift,以便为传统的蒙古语开发iOS应用程序.问题是传统的蒙古语是从上到下,从左到右垂直书写的.我的问题是如何垂直显示文本并仍然有换行功能?
如果你和我待在一起,我会试着更清楚地解释这个问题.下面是我想要实现的文本视图的图像.如果外国脚本将你抛弃,我已经包含了遵循相同模式的英文文本.事实上,如果应用程序有任何英文文本要显示,这应该是它的外观.

对于简单的单线UILabel,顺时针旋转90度就可以了.但是,对于多行UITextView,我需要处理换行.如果我只做一个普通的90度旋转,写的第一件事最终会在最后一行.
到目前为止,我已经制定了一个我认为可以解决这个问题的计划:

这应该照顾文本包装.
我可以做镜像字体.但是,我不知道如何为UITextView的旋转和镜像执行Swift编码.我发现以下链接似乎给解决方案的部分提示,但它们都在Objective C中,而不是在Swift中.
应用程序商店中有传统的蒙古应用程序(像这样和这个),但我还没有找到任何人共享他们的源代码,所以我不知道他们在幕后做什么来显示文本.我打算让我的代码开源,以便将来的其他人不会为数百万阅读传统蒙古语的人开发应用程序.你可以给予这项努力的任何帮助,不仅是我,也是蒙古人民.即使你不了解自己,提出这个问题以使其更加明显也会有所帮助.
@ sangonz的答案仍然是一个很好的答案,但我暂时将其标记为已接受的答案,因为我无法让一切顺利.特别:
到目前为止,我一直在使用上面提到的原始方法,但我真正想要的是获得类似@sangonz提议的工作方式.
我现在也在考虑其他方法
要创建一个简单的工作PopupWindow,我们需要执行以下操作:
popup_example.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:text="Test Pop-Up" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
Java代码
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
PopupWindow pw = new PopupWindow(inflater.inflate(R.layout.popup_example, null, false),100,100, true);
pw.showAtLocation(this.findViewById(R.id.main), Gravity.CENTER, 0, 0);
Run Code Online (Sandbox Code Playgroud)
我的要求是我需要一个
<TEXTVIEW android:layout_height="wrap_content" android:layout_width="fill_parent" />
Run Code Online (Sandbox Code Playgroud)
和a
<BUTTON android:id="@+id/end_data_send_button" android:text="Cancel"/>
Run Code Online (Sandbox Code Playgroud)
在我的popup_example.xml.如何在Java代码中处理这两个组件?

我有标志位的问题.我有一个int变量来保存标志.首先,我为该变量设置了一些标志.后来我需要检查该变量中设置了多少个标志.但我不知道这样做.
我在广播接收器活动中使用此代码播放声音文件:
notification.sound = Uri.parse("android.resource://emad.app/raw/seven_chimes");
Run Code Online (Sandbox Code Playgroud)
我想检测这个文件何时播放完毕.
我尝试了这样的循环,但我认为这对媒体播放器只有好处,因为即使我确定声音文件仍在播放,它总是=假:
/*
* Stay here until the chime sound is finished.
*/
while (manager.isMusicActive()){
}
Run Code Online (Sandbox Code Playgroud)
你能告诉我应该用什么代替manager.isMusicActive()吗?
Jon Willis发布了如何使用他的代码实现无限滚动.在那里,他说他在Android支持库的ViewPager类中进行了一些更改.已经进行了哪些更改以及如何使用ViewPager更改"重新编译"库?
我有一个Android应用程序的情况,我想开始一个应该每秒运行的网络活动(发送一些数据).我实现如下:
在onCreate()我有代码:
tv = new TextView(this);
tv.postDelayed(sendData, 1000);
Run Code Online (Sandbox Code Playgroud)
该sendData()函数:
Handler handler = new Handler();
private Runnable sendData=new Runnable(){
public void run(){
try {
//prepare and send the data here..
handler.removeCallbacks(sendData);
handler.postDelayed(sendData, 1000);
}
catch (Exception e) {
e.printStackTrace();
}
}
};
Run Code Online (Sandbox Code Playgroud)
问题是这样的:当用户按下后退按钮并且应用程序出现(UI消失)时,该sendData()功能仍然会被执行,这就是我想要的.现在,当用户重新启动应用程序时,我onCreate()再次被sendData()调用,并且每秒调用两次.它继续这样下去.每当用户出来并重新开始时,sendData()每秒钟就会发生一次.
我究竟做错了什么?这是我的new Handler()创造问题吗?处理这个问题的最佳方法是什么?sendData()在用户退出应用程序(表单应用程序管理器)之前,我希望每秒调用一次.
当我在Xcode 5中创建我的iOS项目时,我单击了选项以向项目添加测试.是否有可能删除所有测试内容,就像我没有点击选项开始一样?
android ×5
ios ×4
flags ×1
iphone ×1
java ×1
objective-c ×1
popupwindow ×1
postdelayed ×1
swift ×1
uilabel ×1
uitextview ×1
unit-testing ×1
while-loop ×1
xcode ×1