實作:
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