刚开始接触android,还在培训阶段,刚好赶上快要过年,便迎来了第一个比较长的假期。正好可以把之前学习过的东西从头开始整理一遍,软件特点之一就是更新的很快,如果不想被淘汰自然就要不断的学习。复习整理每一个知识点的过程中就可以加一点自己感兴趣的功能,例如突发奇想,想尝试做一个跑马灯效果。学习的时候老师只是提了一句用EditText可以实现,可尝试了一下发现EditText似乎并不支持,上网查阅了一下发现,确实不推荐用EditText,推荐使用TextView控件。于是上网查阅了相关教程,准备自学实现跑马灯效果,当然也遇到了很多问题,如焦点问题,还有自定义TextView,并重写isFocused()方法等问题,通过一次次的尝试,最后也请教了老师,其实只是少写了一个启动方法,结果终于实现的跑马灯效果!
package com.example.helloworld;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
EditText et;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et = (EditText)findViewById(R.id.editText1);
tv = (TextView)findViewById(R.id.textView2);
Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
String s = et.getText().toString();
if(s.equals("中国山东找蓝翔")){
tv.setText("你知道的太多了");
}
else{
tv.setText("这都不知道,你是外星人吗");
}
}
});
tv.setSelected(true);
}
/* public class MyTextView extends TextView{
public MyTextView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyTextView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
public boolean isFocused(){
return true;
}
}*/
<TextView
android:id="@+id/textView2"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_below="@+id/button1"
android:layout_marginTop="16dp"
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
/>