zoukankan      html  css  js  c++  java
  • 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);
            
        }
    
    }
  • 相关阅读:
    可搜索的下拉框
    Vue 父组件调用子组件的方法
    vue中异步函数async和await的用法
    用配置文件的方法发送axios请求
    vue中 localStorage的使用方法(详解)
    下拉框 组件的使用
    遇到不懂的记录
    做测试平台可能会用到的东西
    下拉框 v-for循环拿值的方法
    ant 自定义遮罩
  • 原文地址:https://www.cnblogs.com/hnini/p/5310303.html
Copyright © 2011-2022 走看看