Wherever you go, no matter what the weather, always bring your own sunshine. -Anthony J.D’Angelo
不管你去往何方,不管将来迎接你的是 什么天气,请你带着阳光般的心情启程。
参考文献:
常见单位介绍:
该控件主要用于界面上显示一段文本信息。默认居左上角对齐
示例:
<TextView
android:id="@+id/txtOne"
android:layout_width="200dp"
android:layout_height="200dp"
android:gravity="center"
android:text="TextView(显示框)"
android:textColor="#EA5246"
android:textStyle="bold|italic"
android:background="#000000"
android:textSize="18sp" />
为TextView加边框。须要在drawable建xml文件,里面设置shape来设置文本框的特殊效果,然后将background设置为这个drawable资源。
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#87CEEB" />
<stroke
android:width="2px"
android:color="#000000" />
<corners
android:bottomLeftRadius="10px"
android:bottomRightRadius="10px"
android:topLeftRadius="10px"
android:topRightRadius="10px" />
<gradient
android:angle="270"
android:endColor="#C0C0C0"
android:startColor="#FCD209" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
shape>
要实现上面这种功能,可以使用drawableXxx可以省略上面过程,可以设置四个方向的图片drawableTop(上), drawableButtom(下), drawableLeft(左), drawableRight(右) 。另外,你也可以使用drawablePadding来设置图片与文字间的间距。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:drawableTop="@drawable/show1"
android:drawablePadding="10dp"
android:text="发现" />
在XML中是无法直接设置drawable大小,需要在Java代码中进行修改。
public class MainActivity extends AppCompatActivity {
private TextView txtZQD;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtZQD = (TextView) findViewById(R.id.txtZQD);
Drawable[] drawable = txtZQD.getCompoundDrawables();
// 数组下表0~3,依次是:左上右下
drawable[1].setBounds(100, 0, 200, 200);
txtZQD.setCompoundDrawables(drawable[0], drawable[1], drawable[2],
drawable[3]);
}
当文字中出现了URL,E-Mail,电话号码,地图的时候,我们可以通过设置autoLink属性;当我们点击 文字中对应部分的文字,即可跳转至某默认APP,比如一串号码,点击后跳转至拨号界面!
<TextView
android:id="@+id/text_view"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/txt_radiuborder"
android:text="www.baidu.com"
android:textSize="30sp"
android:autoLink="web"
/>
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
在XML定义了上述属性,还需要在java代码中进行程序控制。
TextView mTextView = (TextView) findViewById(R.id.myTextView);
// 开始走马灯效果
mTextView.setSelected(true);
// 停止走马灯效果
// mTextView.setSelected(false);
字间距:
android:textScaleX:控制字体水平方向的缩放,默认值1.0f,值是float
Java中setScaleX(2.0f);
行间距: Android系统中TextView默认显示中文时会比较紧凑,为了让每行保持的行间距
**android:lineSpacingExtra:**设置行间距,如"3dp" **android:lineSpacingMultiplier:**设置行间距的倍数,如"1.2"
Java代码中可以通过: setLineSpacing方法来设置
自动换行通过 android:singleLine 设置,默认为 false。
如需要自动换行,可以用:
android:singleLine = "false"
如果要在一行显示完,不换行,可以用:
android:singleLine = "true"
除此之外,可以也设置多行显示不完,添加个maxLines的属性即可!
参考文献:
改控件允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。例如:短信、微信、QQ等操作。
如前述控件所示,在xml文件中定义该控件。
Android中的控件规律:给控件定义一个id,再指定控件的宽度和高度,再适当加入一些控件特有的属性。
android:hit:输入框中如果想显示一些提示性的文字,可以使用该属性来指定提示的内容
如果输入的内容过多会导致EditText不断拉长,界面变丑,可以通过使用android:maxLines属性指定最大行数,输入内容超过两行,文本向上滚动。
EditText可以和Button相结合完成一些功能
示例:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
editText = (EditText) findViewById(R.id.edit_text);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
String inputText = editText.getText().toString();
Toast.makeText(MainActivity.this, inputText, Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
android:selectAllOnFocus
:android:selectAllOnFocus="true"
android:inputType="phone"
android:capitalize:提供英文字母大写类型
android:digits
设置允许输入哪些字符。如“1234567890.±*/%\n()”
android:cursorVisible
设定光标为显示/隐藏,默认显示。如果设置false,即使选中了也不显示光标栏。
android:textCursorDrawable="@drawable/xxx"
设置光标样式