Android攻城狮学习笔记—入门篇二

第七章  跑马灯

activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.helloworld.MainActivity" android:orientation="vertical" > <com.example.helloworld.MarqueeTest //2 注意这里,使用自定义 android:singleLine="true" android:focusable="true" android:focusableInTouchMode="true" android:ellipsize="marquee" //1 一般情况下 以上4行代码即可实现跑马灯 但是同一界面多个textview都需要跑马灯效果时 不可行 此时需要第2种方法 android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/text_name" /> <com.example.helloworld.MarqueeTest android:singleLine="true" android:focusable="true" android:focusableInTouchMode="true" android:ellipsize="marquee" android:id="@+id/textView2"
android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/text_name2" /> </LinearLayout>

//2 新建一个类 自定义xml样式

public class MarqueeTest extends TextView {

public MarqueeTest(Context context) {
super(context);
// TODO Auto-generated constructor stub
}

public MarqueeTest(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}

public MarqueeTest(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}

//非常关键
@Override
public boolean isFocused() {
// TODO Auto-generated method stub
return true;
}

}

 第八章 动态自动匹配

AutoCompleteTextView控件

layout中需要设置 android:completionThreshold="3" //输入多少个字符时出现自动匹配内容 其他的代码如下

public class MainActivity extends Activity  {
    
    private AutoCompleteTextView acTextView;   //1 初始化控件
    private String[] res = {"beijing1","beijing2","shanghai1","shanghai2"};  // 3 初始化数据源
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);    
        /*
         * 1 初始化控件
         * 2 需要一个适配器
         * 3 初始化数据源
         * 4 将adapter与当前的AutoCompleteTextView绑定
         * */
    
        acTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);  // 1 初始化控件
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);  //2 需要一个适配器
        
        acTextView.setAdapter(adapter);   //4 将adapter与当前的AutoCompleteTextView绑定
    }    
    
}

 MultiAutoCompleteTextView控件 效果如下

public class MainActivity extends Activity  {
    
    private MultiAutoCompleteTextView macTextView;   //1初始化控件
    private String[] res = {"beijing1","beijing2","shanghai1","shanghai2"};  //3 初始化数据源
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);    
        /*
         * 1 初始化控件
         * 2 需要一个适配器
         * 3 初始化数据源
         * 4 将adapter与当前的MultiAutoCompleteTextView绑定
         * 5 设置分隔符
         * */
    
        macTextView = (MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1);  //1 初始化控件
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);   //2 需要一个适配器
        
        macTextView.setAdapter(adapter);  //将adapter与控件绑定
        
        macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); //设置逗号最为分隔符
    }    
    
}

第九章 ToggleButton

有两种状态:选中和未选中 可以为不同状态设置不同显示文本

layout设置

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textOn="开"   
        android:textOff="关"/>

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/light_off"/>

 

MainActivity.java

public class MainActivity extends Activity implements OnCheckedChangeListener { //2 实现监听接口
    
    private ToggleButton tb;  // 1 初始化控件
    private ImageView img;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_main);
        
        tb = (ToggleButton)findViewById(R.id.toggleButton1); //1 初始化控件
        img = (ImageView)findViewById(R.id.imageView1);
        
        tb.setOnCheckedChangeListener(this); // 2 给togglebutton绑定监听事件
        
    }

    @Override  //3 重写监听方法
    public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
        img.setBackgroundResource(arg1?R.drawable.light_on:R.drawable.light_off);
        
    }

}

 

posted @ 2016-03-23 11:20  Hnini  阅读(148)  评论(0编辑  收藏  举报