[size=large]网上一般都讲了很多如何实现跑马灯的效果,但是很多情况下,我们的跑马灯跑不起来,这是为什么呢,让我们先看看这个跑马灯的一般代码。
<TextView android:layout_width="100px" android:layout_height="wrap_content" android:textColor="@android:color/white" android:ellipsize="marquee" android:focusable="true" android:marqueeRepeatLimit="marquee_forever" android:focusableInTouchMode="true" android:scrollHorizontally="true" android:text="这才是真正的文字跑马灯效果" > </TextView>
然而,这个跑马灯跑起来的一个必要条件是:这个textview或者button获取到了焦点。
所以,跑不起来的原因自然就是textview或者button没有获取到焦点了。
解决方法:在activity中,让对象去请求焦点
tv_paomadeng.requestFocus(); tv_paomadeng.setText("Whatever you want to display");
这样就万事大吉了![/size]
emulator皮肤增加
Android的emulator皮肤在源码中的位置是:sdk/emulator/skins下。
编译sdk时,会根据development/build/sdk.atree文件中的配置将android源码中emulator的皮肤copy到/out/host/linux-x86/sdk/android-sdk-eng.zhajianwen_linux-x86/platforms/android2.2/skins下。
因此为了增加emulator的皮肤,需要做以下修改。
1. 在sdk/emulator/skins目录下增加一个目录,用来配置新的皮肤。
2. 在development/build/sdk.atree文件中添加一条新的皮肤的位置。编译sdk时,能够将新的皮肤copy到/out/host/linux-x86/sdk/android-sdk-eng.zhajianwen_linux-x86/platforms/android2.2/skins下。
emulator皮肤中的keyboard的键会去查找external/qemu/android/charmap.c文件。该文件中定义了皮肤中键的值。
在 iPhone 应用里经常要限制用户输入字符的长度,比如密码输入框规定密码长度是 x 到 y 位,下面这段代码可以让 UITextField 限制输入长度。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (range.location >= 12)
return NO; // return NO to not change text
return YES;
}
这里默认是最多输入12位,您可以根据自身需求更改第二行的数字。