實作:
1、editText可以設定你要叫出來的軟鍵盤功能為何<EditText android:id="@+id/edit_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="hint" android:inputType="phone" />
其中inputType為控制方法
這裡有幾個好用的值
phone 只能輸入號碼
date 只能輸入數字和斜線/
textPassword 提供文字輸入鍵盤,並影藏內容
textCapSentences 讓句子的第一個單字以大寫開頭
textAutoCorrect 自動改正輸入的文字
2、ToggleButton 我用順便用來影藏和顯示editText的顯示和影藏密碼
toggle_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (toggle_btn.isChecked()) { editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());//顯示密碼 } else { editText.setTransformationMethod(PasswordTransformationMethod.getInstance());//影藏 } } });
3、RadioGroup使用
在被呼叫的時候如果沒做選擇
int id = radioGroup.getCheckedRadioButtonId(); if (id == -1) { Toast.makeText(MainActivity.this, "您未做任何選擇。", Toast.LENGTH_SHORT).show(); } else { RadioButton radiobutton = (RadioButton) findViewById(id); Toast.makeText(MainActivity.this, "你選擇了:" + radiobutton.getText().toString(), Toast.LENGTH_SHORT).show(); }
4、ImageView中的ContentDescription
來源:http://www.cnblogs.com/baiyan1/archive/2012/11/27/2790094.html
在写Android的XML布局文件时,在ImageView或ImageButton中经常会碰到一个提示:
Missing contentDescription attribute on image.
这个属性是做什么的呢?
其实这个属性是方便一些生理功能有缺陷的人使用应用程序的。比如我们有一个ImageView里面放置一张颜色复杂的图片,可能一些色弱色盲的人,分不清这张图片中画的是什么东西。如果用户安装了辅助浏览工具比如TalkBack,TalkBack就会大声朗读出用户目前正在浏览的内容。TextView控件TalkBack可以直接读出里面的内容,但是ImageView TalkBack就只能去读contentDescription的值,告诉用户这个图片到底是什么。
原文在Android官网:
5、一行TextView內塞太多東西的省略文字
在xml中:
android:ellipsize="end" 省略號在結尾
android:ellipsize="start" 省略號在開頭
android:ellipsize="middle" 省略號在中間
android:ellipsize="marquee" 跑馬燈
最後TextView顯示行數的限制:
android:singleline="true"或者android:lines="1"
全部程式碼:
MainActivity畫面佈局 |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.hello.kaiser.ui.MainActivity"> <EditText android:id="@+id/edit_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="hint" android:inputType="" /> <ToggleButton android:id="@+id/toggle_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:layout_marginTop="10dp" android:onClick="onToggleClicked" android:textOff="測試隱藏狀態" android:textOn="測試開啟狀態" /> <Switch android:id="@+id/switch_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="10dp" /> <CheckBox android:id="@+id/checkbox_one" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="CheckBoxClick" /> <CheckBox android:id="@+id/checkbox_two" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="CheckBoxClick" /> <RadioGroup android:id="@+id/radio_group" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:orientation="vertical"> <RadioButton android:id="@+id/radio_one" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="groupButton" android:text="MILK" /> <RadioButton android:id="@+id/radio_two" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="groupButton" android:text="COFFEE" /> </RadioGroup> <Button android:text="最後選擇確認" android:id="@+id/checkRadioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/image_view" android:layout_width="100dp" android:layout_height="100dp" android:layout_marginTop="10dp" android:contentDescription="This is android logo" android:src="@drawable/android_photo" /> </LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity { private EditText editText; private ToggleButton toggle_btn; private Switch switch_btn; private RadioGroup radioGroup; private ImageView imageview; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setInit(); setView(); setListener(); } private void setInit() { editText = (EditText) findViewById(R.id.edit_text); toggle_btn = (ToggleButton) findViewById(R.id.toggle_btn); switch_btn = (Switch) findViewById(R.id.switch_btn); radioGroup = (RadioGroup) findViewById(R.id.radio_group); imageview = (ImageView) findViewById(R.id.image_view); button = (Button) findViewById(R.id.checkRadioButton); } private void setView() { toggle_btn.setChecked(false);//設定一開始是關閉狀態 int image = R.drawable.android_photo; String description = "This is logo"; imageview.setImageResource(image); imageview.setContentDescription(description); } private void setListener() { toggle_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (toggle_btn.isChecked()) { editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());//顯示密碼 } else { editText.setTransformationMethod(PasswordTransformationMethod.getInstance());//影藏 } } }); switch_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (switch_btn.isChecked()) { Toast.makeText(MainActivity.this, "開啟", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "關閉", Toast.LENGTH_SHORT).show(); } } }); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int id = radioGroup.getCheckedRadioButtonId(); if (id == -1) { Toast.makeText(MainActivity.this, "您未做任何選擇。", Toast.LENGTH_SHORT).show(); } else { RadioButton radiobutton = (RadioButton) findViewById(id); Toast.makeText(MainActivity.this, "你選擇了:" + radiobutton.getText().toString(), Toast.LENGTH_SHORT).show(); } } }); } public void CheckBoxClick(View view) { boolean checked = ((CheckBox) view).isChecked(); switch (view.getId()) { case R.id.checkbox_one: if (checked) Toast.makeText(this, "選擇牛奶", Toast.LENGTH_SHORT).show(); else Toast.makeText(this, "unCheck牛奶", Toast.LENGTH_SHORT).show(); break; case R.id.checkbox_two: if (checked) Toast.makeText(this, "選擇咖啡", Toast.LENGTH_SHORT).show(); else Toast.makeText(this, "unCheck coffee", Toast.LENGTH_SHORT).show(); break; default: break; } } public void groupButton(View view) { int id = radioGroup.getCheckedRadioButtonId(); switch (id) { case R.id.radio_one: Toast.makeText(this, "選milk", Toast.LENGTH_SHORT).show(); break; case R.id.radio_two: Toast.makeText(this, "選coffee", Toast.LENGTH_SHORT).show(); break; } } }
就不提供Demo了,就如同上面一樣,複製貼上就可看到demo
沒有留言:
張貼留言