day4.08总结_UI控件
2016-05-04 00:35
369 查看
一、Button
public class MainActivity extends Activity { Switch btnSwitch; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnSwitch=(Switch) findViewById(R.id.switch1); btnSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override Switch的监听器 public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) { Toast.makeText(MainActivity.this,String.valueOf(isChecked), 1).show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } |
<Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginTop="10dp" style="@style/MyButton01.MyButton02" android:text="Button" android:textColor="@drawable/btn_textcolor_selector" 引用选择器 android:background="@drawable/btn_background_selector"/> <!-- 切换器 --> <Switch android:id="@+id/switch1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button1" android:layout_below="@+id/button1" android:layout_marginTop="58dp" android:text="wifi" /> |
btn_background_selector.xml <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/btn_shape_1" android:state_pressed="false"/> <item android:drawable="@drawable/btn_shape_2" android:state_pressed="true"/> </selector> |
<shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 借助此属性绘制图形背景色 --> <solid android:color="#ff669900"/> <!-- 绘制图形角度 --> <corners android:radius="20dp"/> <!-- 绘制图形边框 --> <stroke android:width="2dp" android:color="#ff6699cc"/> </shape> |
二、RadioGroup
<!-- RadioGroup继承线性布局 --> <RadioGroup 默认垂直分布 android:id="@+id/radioGroup1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="36dp" android:layout_marginTop="86dp" > <RadioButton android:id="@+id/radio0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" 默认选中,不默认就删掉 android:text="银联支付" /> <RadioButton android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="支付宝" /> <RadioButton android:id="@+id/radio2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="其它" /> </RadioGroup> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="19dp" android:layout_marginTop="35dp" android:text="请选择支付方式:" android:textAppearance="?android:attr/textAppearanceLarge" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/radioGroup1" android:layout_marginTop="34dp" android:text="您选择的是" android:onClick="onClick"/> <RadioGroup android:id="@+id/radioGroup2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="#ff000000" android:orientation="horizontal"> 水平分布 <RadioButton android:id="@+id/radio00" android:layout_width="0dp" android:layout_height="wrap_content" 分布权重 android:layout_weight="1" android:checked="true" android:button="@null" 不需要前面的按钮 android:textColor="#ffffffff" android:drawableTop="@drawable/ic_launcher" 上面添加图片 android:text="推荐" android:gravity="center_horizontal"/> <RadioButton android:id="@+id/radio01" android:layout_width="0dp" android:layout_height="wrap_content" android:button="@null" android:layout_weight="1" android:textColor="#ffffffff" android:drawableTop="@drawable/ic_launcher" android:text="收藏" android:gravity="center_horizontal" /> <RadioButton android:id="@+id/radio02" android:layout_width="0dp" android:layout_height="wrap_content" android:button="@null" android:layout_weight="1" android:textColor="#ffffffff" android:drawableTop="@drawable/ic_launcher" android:text="发现" android:gravity="center_horizontal"/> <RadioButton android:id="@+id/radio03" android:layout_width="0dp" android:layout_height="wrap_content" android:button="@null" android:layout_weight="1" android:textColor="#ffffffff" android:drawableTop="@drawable/ic_launcher" android:text="我的" android:gravity="center_horizontal"/> </RadioGroup> |
public void onClick(View v){ //获得选中的RadioButton id d031 rGroup=(RadioGroup) findViewById(R.id.radioGroup1); int id=rGroup.getCheckedRadioButtonId(); 获取选中的ID RadioButton rBtn=(RadioButton) rGroup.findViewById(id); Toast.makeText(this, rBtn.getText(), 1).show(); } |
三、Text
图示:点击send就发送 一遍输入一遍提示<EditText android:id="@+id/etId" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="number" android:background="@drawable/editor_background_01" android:imeOptions="actionSend"> 遍输入遍发送 <requestFocus/> 一打开就有焦点 </EditText> <AutoCompleteTextView 提示 android:id="@+id/autoCompleteTextView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/etId" android:layout_alignRight="@+id/etId" android:layout_below="@+id/etId" android:layout_marginTop="38dp" android:ems="10" /> </RelativeLayout> |
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText et=(EditText) findViewById(R.id.etId); et.setOnEditorActionListener(new OnEditorActionListener() { 监听器 @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if(actionId==EditorInfo.IME_ACTION_SEND){ 点击send就会发送 Toast.makeText(MainActivity.this,et.getText().toString(), 1).show(); return true;//true表示事件已处理完成 } return false; } }); //============================== AutoCompleteTextView at=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1); at.setAdapter(ArrayAdapter.createFromResource(this,R.array.countries_array, android.R.layout.simple_list_item_1)); //设置出现1个字符时则给出提示 at.setThreshold(1); } } |
<string-array name="countries_array"> <item>Afghanistan</item> <item>Albania</item> <item>Algeria</item> <item>American Samoa</item> <item>Andorra</item> <item>Angola</item> <item>Anguilla</item> <item>Antarctica</item> </string-array> |
四、SearchView
<SearchView android:id="@+id/searchView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:background="@null" android:layout_marginTop="27dp" > </SearchView> |
public class MainActivity extends Activity implements OnQueryTextListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SearchView sv=(SearchView) findViewById(R.id.searchView1); sv.onActionViewExpanded();//默认展开 //获得字符串指定的资源id int id=sv.getResources().getIdentifier("android:id/search_plate",null, getPackageName()); //根据id找到对应的布局 LinearLayout layout=(LinearLayout) sv.findViewById(id); //设置layout的背景 给边框设置样式 layout.setBackgroundResource(R.drawable.editor_background_01); //添加监听器 sv.setOnQueryTextListener(this); } /**输入完成点击软键盘的搜索按钮时执行此方法*/ @Override public boolean onQueryTextSubmit(String query) { Log.i("TAG", "onQueryTextSubmit.query="+query); return false; } /**输入框内容发生变化会执行此方法*/ @Override public boolean onQueryTextChange(String newText) { Log.i("TAG", "onQueryTextChange.newText="+newText); return false; } } |
五、Bar
示例图:<ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleLarge" 圆圈形 android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="32dp" android:layout_marginTop="24dp" /> <ProgressBar android:id="@+id/progressBar2" style="?android:attr/progressBarStyleHorizontal" 条状形 android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/progressBar1" android:layout_marginTop="15dp" /> <!-- 拖动条 --> <SeekBar android:id="@+id/seekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/progressBar2" android:layout_marginTop="46dp" /> <!-- ratingbar --> <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/seekBar1" android:layout_below="@+id/seekBar1" android:layout_marginTop="44dp" /> </RelativeLayout> |
六、event
public class MainActivity extends Activity { private RelativeLayout outerLayout; private LinearLayout innerLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); outerLayout=(RelativeLayout) findViewById(R.id.OuterlayoutId); innerLayout=(LinearLayout) findViewById(R.id.innerLayoutId); outerLayout.setOnTouchListener(new OnTouchListener() {鼠标触摸到的事件 @Override public boolean onTouch(View v, MotionEvent event) { Toast.makeText(MainActivity.this,"outer", 1).show(); return false; } }); innerLayout.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction()==MotionEvent.ACTION_DOWN){鼠标触摸到的事件 Toast.makeText(MainActivity.this,"inner", 1).show();点击时触发 } return false;//true表示事件不在向外层传递 } }); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub return super.onKeyDown(keyCode, event); } } |
相关文章推荐
- mysql5.5提示Deprecated: mysql_query(): The mysql extension is deprecated
- UITableView 零散知识点总结
- Java基础学习之--Break/Continue/Return
- MIUI重度用户:超三成玩机直逼睡眠时长
- MySQL_Table_Join_Query
- array_unique 二维数组去重 二维数组排序 去空白
- iOS中的UIDatePicker (日期滚轮)
- 队列的使用
- UE4:Localization(本地化:中文)
- LeetCode 347. Top K Frequent Elements
- 验证StringBuilder是非线程安全的Java小程序
- Android中Build Target,minSdkVersitarget,targetSdkversion概念
- Html中value和name属性的作用及其使用介绍
- Could not calculate build plan
- 自定义UIButton
- SPOJ GSS1 Can you answer these queries I
- SPOJ GSS1 Can you answer these queries I
- UISenior —— 数据存储之沙盒路径
- ionic生成apk使用build命令下载gradle-2.2.1-all.zip卡,解决方案
- UIImageView 的contentMode属性应用