zoukankan      html  css  js  c++  java
  • Android攻城狮CheckBox&RadioGroup&AutoCompleteTextView&MultiAutoCompleteTextView&ToggleButton

    给子类加构造函数Source----Generate constractor from superclass

    跑马灯效果的实现(Textview 循环):

    1、定义textView标签的4个属性:
     android:singleLine="true"//使其只能单行
     android:ellipsize="marquee"//去掉省略号
     android:focusable = "true"//得到焦点
     android : focusableInTouchMode = "true"
     2、若有多个跑马灯同时实现,若按上面方法只能实现第一个,因为他抢到了焦点,使得后面的无法实现。因此我们需要自定义类MarqueeText继承TextView,并且导入实现三个构造函数;
     复写isfocued方法,返回true(默认都有有焦点,平常只有一个有焦点在第一行上)
    @Override
        public boolean isFocused(){
            return true;
        }
     3、使用自定义的类,方法是用包名和自定义类名代替TextView(src下的包名+类名)

    //实现跑马灯的效果:
    
    //若只有1个textview:添加4个属性在xml中就可以实现
    //若有一个以上的textview,则需要创建类 MarqueeText继承TextView 
    public class MainActivity extends ActionBarActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.fragment_main);
    
            
        }
    
        
    }
    //加上所有构造函数 Source----Generate constractor from superclass
    //    复写isfocued方法,返回true(默认都有有焦点,平常只有一个有焦点在第一行上)
    //    @Override
    //        public boolean isFocused(){
    //            return true;
    //        }
    
    
    public class MarqueeText extends TextView {
    
        
        
        public MarqueeText(Context context) {
            super(context);
            // TODO Auto-generated constructor stub
        }
    
        public MarqueeText(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
            // TODO Auto-generated constructor stub
        }
    
        public MarqueeText(Context context, AttributeSet attrs) {
            super(context, attrs);
            // TODO Auto-generated constructor stub
        }
    
        @Override
        public boolean isFocused() {
            // TODO Auto-generated method stub
            return true;
        }
    }


    AutoCompleteTextView
    1.功能:
      动态匹配输入的内容,如百度搜索引擎输入文本时可以根据内容显示匹配的热门信息
    
    2.独特属性:
      android:completionThreshold="2" --->设置输入多少字符时自动匹配

    // 第一步:初始化控件
    // 第二步 :ArrayAdapter适配器
    //第三步:初始化数据源---去匹配文本框输入的内容
    //第四步:当前控件绑定adapter


    MultiAutoCompleteTextView控件:
    1.功能:
      可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,可用在发短信,发邮件时选择联系人这种类型当中。
    
    2.独特属性:
      android:completionThreshold="2" -->设置输入多少字符时自动匹配
    
    3.设置分隔符
      mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    // 第一步:初始化控件
    // 第二步 :ArrayAdapter适配器
    //第三步:初始化数据源---去匹配文本框输入的内容
    //第四步:当前控件绑定adapter
    //第五步:设置分隔符mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    
    
     1 //实现AutoCompleteTextView 和MultiAutoCompleteTextView的自动匹配
     2 
     3 public class MainActivity extends ActionBarActivity {
     4     // 第一步:初始化控件
     5     private AutoCompleteTextView actView;//只能匹配一个
     6     private MultiAutoCompleteTextView macTextView;//自动匹配多个
     7     
     8     // 第二步 :适配器
     9     private ArrayAdapter<String> adapter;
    10     
    11     // 第三步:初始化数据源---去匹配文本框输入的内容
    12     private String[] res = { "chongqin1", "chongqin2", "shanghai1", "shanghai2" };
    13     
    14 
    15     
    16 
    17     @Override
    18     protected void onCreate(Bundle savedInstanceState) {
    19         super.onCreate(savedInstanceState);
    20         setContentView(R.layout.fragment_main);
    21         adapter = new ArrayAdapter<String>(this,
    22                 android.R.layout.simple_list_item_1, res);
    23         
    24         actView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
    25         
    26         actView.setAdapter(adapter);// 第四步:当前控件绑定adapter
    27 
    28         macTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1);
    29         macTextView.setAdapter(adapter);
    30         //设置以逗号为分隔符
    31         macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); 
    32 
    33     }
    34 
    35     
    36 }
    
    




    ToggleButton控件
    : 1.什么事ToggleButton: ToggleButton有两种状态:选中和未选中状态并且需要为不同的状态设置不同的显示文本 2.ToggleButton属性: android:checked="true" android:textOff="关" andriod:textOn="开"
    1.主方法实现OnCheckedChangeListener接口
    2.初始化控件ToggleButton/ImageView
    3.为ToggleButton对象设置监听器
    4.重写onCheckedChange():
      当tb被点击的时候,当前方法会被执行
      参数buttonView---代表被点击的控件本身
      参数isChecked---代表被点击的控件的状态
      要实现的效果:当点击这个控件的时候,根据状态更换img背景。
      代码:img.setImageResource(isChecked?R.drawable.on:R.drawable.off);
    //利用ToggleButton实现开关灯的效果
    
    public class MainActivity extends ActionBarActivity implements OnCheckedChangeListener {
        private ToggleButton button;
        private ImageView imageView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.fragment_main);
            button = (ToggleButton) findViewById(R.id.toggleButton1);
            imageView = (ImageView) findViewById(R.id.imageView1);
    
            button.setOnCheckedChangeListener(this);
    
        }
    
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // TODO Auto-generated method stub
            // buttonView----被点击控件本身
            // isChecked-----被点击控件的状态
    
            imageView.setBackgroundResource(isChecked ? R.drawable.on
                    : R.drawable.off);
        }
    
    }
    
    

     
    CheckBox控件:复选框
    
    1、有两种状态
       选中状态(true),未选中状态(false)
    
    2、属性:
       android:id="@+id/checkbox"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:checked="false"
       android:text="男"
    CheckBox
    属性:checked(默认值false),text(选项内容)
    步骤:
    1、初始化;
    2、设置监听器setOnCheckedChangeListener(内部类)
    3、通过内部类方法OnCheckedChange()判断checkbox是否被选中;
    4、利用函数getText()获取checkbox的text内容,为便于打印,使用toString()方法转化为字符串;
    5、在控制台中打印日志: Log.i("tag",text);//Log.i("tag",isChecked+"");


    RadioGroup和RadioButton控件:(单选)
    
    1、RadioGroup:
       RadioButton的一个集合,提供多选一机制
    
    2、属性:
       android:orientation={
       "vertical----->垂直排布"
       "horizontal---->水平排布"
    } 
    RadioButton单个使用点击后无法取消,其实就是单选框嘛 =. =!
     1 public class MainActivity extends ActionBarActivity implements android.widget.RadioGroup.OnCheckedChangeListener {
     2     private CheckBox checkBox;
     3     private RadioGroup radioGroup;
     4 
     5     @Override
     6     protected void onCreate(Bundle savedInstanceState) {
     7         super.onCreate(savedInstanceState);
     8         setContentView(R.layout.fragment_main);
     9         checkBox = (CheckBox) findViewById(R.id.checkBox1);
    10         radioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
    11         
    12         checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    13 
    14             @Override
    15             public void onCheckedChanged(CompoundButton buttonView,
    16                     boolean isChecked) {
    17                 // TODO Auto-generated method stub
    18                 if (isChecked) {
    19                     String msg = checkBox.getText().toString().trim();
    20                     Log.i("tag", msg);
    21                 }
    22 
    23             }
    24         });
    25 
    26         radioGroup.setOnCheckedChangeListener(this);
    27     }
    28 
    29     @Override
    30     public void onCheckedChanged(RadioGroup group, int checkedId) {
    31         // TODO Auto-generated method stub
    32         switch (checkedId) {
    33         case R.id.radio0:
    34             Log.i("--->", "男");
    35 
    36             break;
    37 
    38         case R.id.radio1:
    39             Log.i("--->", "女");
    40             break;
    41         }
    42 
    43     }
    44 
    45 }


















  • 相关阅读:
    Entity Framework Code-First(10.3):Property Mappings
    Entity Framework Code-First(10.2):Entity Mappings
    Entity Framework Code-First(10.1):EntityTypeConfiguration
    Entity Framework Code-First(10):Fluent API
    Entity Framework Code-First(9.11):DataAnnotations
    Entity Framework Code-First(9.10):DataAnnotations
    Entity Framework Code-First(9.9):DataAnnotations
    Entity Framework Code-First(9.8):DataAnnotations
    Entity Framework Code-First(9.7):DataAnnotations
    JAVA-初步认识-第六章-类与对象体现
  • 原文地址:https://www.cnblogs.com/my334420/p/6690651.html
Copyright © 2011-2022 走看看