Android回顾(三)

Android基本控件及表单三大控件

(二)、基本控件:—— TextView:
1、andorid:text
2、 android:textColor
3、 android:textSize
4、andorid:height
5、 android:width
6、 android:inputType
7、 android:singleLine
8、android:gravity
9、android:drawableLeft
10、android:drawableRight
11、android:drawableTop
12、android:drawableBottom
13、android:autoLink (web / email / phone / map / all / none)
14、android:hint

二、基本控件:—— EditText
(一)、 EditText 类结构:
java.lang.Object
↳ android.view.View
↳ android.widget.TextView
↳ android.widget.EditText

备注:EditView类继承自TextView类,EditView与TextView最大的不同就是用户可以对EditView控件进行编辑,同时还可以为EditView控件设置监听器,用来判断用户的输入是否合法。

(二)、EditView常用属性:

(三)、android:inputType的可选项:
android:inputType=”textPersonName”
android:inputType=”textPassword”
android:inputType=”numberPassword”
android:inputType=”textEmailAddress”
android:inputType=”phone”
android:inputType=”textPostalAddress”
android:inputType=”time”
android:inputType=”date”
android:inputType=”number”

(四)、EditText常用方法:

1、setText ()
2、getText ()

三、基本控件:—— ImageView:
(一)、类结构:
java.lang.Object
↳ android.view.View
↳ android.widget.ImageView

(二)、 ImageView 常用属性:
1、andorid:src 设置图片来源。属性值为android:src=”@drawable/图片名称”
2、android:adjustViewBounds 用于设置 ImageView 是否调整自己的边界,来保持所显示图片的长宽比例。属性值为true或false
3、 android:maxHeight 设置 ImageView 的最大高度。需要先设置android:adjustViewBounds为true,否则不起作用。
4、andorid:maxWidth 设置 ImageView 的最大宽度。需要先设置android:adjustViewBounds为true,否则不起作用。
5、 android:scaleType 设置所显示的图片如何缩放或移动,以适应ImageView的大小。可选项:fitCenter、fitStart 、 fitEnd、 fitXY 、 center、centerCrop、centerInside、matrix

matrix :保持原图大小、从左上角的点开始,以矩阵形式绘图。 MATRIX 用图片的矩阵从左向开始来画,不做任何拉伸。如果一个100*100的ImageView,它的src是10*10的小图,则图显示在左上角,如果scr是200*200的大图,则截取它左上的100*100做显示。
fitXY :把图片按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满View. FIT_XY 不保持图片横宽比,把图片的宽和高分别拉伸或缩放至ImageView的大小。如果是一个100*100的ImageView,它的src是20*10,则直接把它拉伸为100*100后显示,如果src是200*100,则把它缩放为100*100后显示,此种方法容易导致图片变形。

fitStart :把图片按比例扩大(缩小)到View的宽度或高度,显示在View的上部分位置 。FIT_START 与 FIT_CENTER 缩放拉伸原则一样,区别是处理过的图片居左显示。
fitEnd :把图片按比例扩大(缩小)到View的宽度或高度,显示在View的下部分位置 。FIT_END 与 FIT_CENTER缩放拉伸原则一样,区别是处理过的图片居右显示。

fitCenter :把图片按比例扩大(缩小)到View的宽度或高度,居中显示 。FIT_CENTER 保持横宽比,对图片进行拉伸或缩放,原则是:
1)图片能完整显示;
2)图片宽或高至少有一样与ImageView的相同;
3)处理过的图片居中显示。
如果是一个100*100的ImageView,它的src是20*10,先把图片等比放大到100*50,然后再居中显示。它的src是100*200,会先把图片等比缩放到50*100,然后再居中显示。

centerInside :以原图的几何中心点和ImagView的几何中心点为基准,将图片的内容完整居中显示, 通过按比例缩小原来的size使得图片长(宽)等于或小于ImageView的长(宽)。CENTER_INSIDE 保持图片横宽比,以图片中心为基点进行缩放显示,缩放的原则是显示完整个图片。如果是一个100*100的ImageView,它的src是20*10,它直接居中显示。如果src是200*100的,先把图片等比缩小到100*50,然后再居中显示。

Center : 以原图的几何中心点和ImagView的几何中心点为基准,按图片的原来size居中显示,不缩放, 当图片长/宽超过View的长/宽,则截取图片的居中部分显示ImageView的size. 当图片小于View 的长宽时, 不拉伸,居中显示图片。如果是一个100*100的ImageView,它的src是10*10的小图,则图显示在的中央,如果src是200*200的大图,截取中间的100*100用来显示。
centerCrop :以原图的几何中心点和ImagView的几何中心点为基准,按比例扩大(图片小于View的宽时)图片的size。 居中显示,使得图片长 (宽)等于或大于View的长(宽),并按View的大小截取图片。 当原图的size大于ImageView时,按比例缩小图片,使得长宽中有一向等于ImageView,另一向大于ImageView。 CENTER_CROP 保持图片横宽比,以图片中心为基点进行拉伸显示,拉伸的原则是填充满整个ImageView。如果是一个100*100的ImageView,它的src是20*10,则它会被等比拉伸成200*100,然后再截取其中央的100*100显示。

    一般情况下,设置为centerCrop能获得较好的适配效果。

(三)、ImageView常用方法:
1、setImageBitmap()
2、setImageDrawable()
3、setImageResource()

(四)、实现图片变换的核心代码:
publicclass MainActivity extends Activity {
private ImageView imageView_main_show;
// 定义一个数组,用来存放所有图片的id
privateint[] imgIds = { R.drawable.img001, R.drawable.img012,
R.drawable.img017, R.drawable.img021, R.drawable.img030,
R.drawable.img031, R.drawable.img033, R.drawable.img038,
R.drawable.img039 };
privateintindex = 0;

@Override
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

imageView_main_show = (ImageView) findViewById(R.id.imageView_main_show);
}

publicvoid clickButton(View view) {
switch (view.getId()) {
case R.id.button_main_previous:
index–;
break;
case R.id.button_main_next:
index++;
break;
}
if (index < 0) {
index = imgIds.length - 1;
}
if (index > imgIds.length - 1) {
index = 0;
}
imageView_main_show.setImageResource(imgIds[index]);
}

@Override
publicboolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
returntrue;
}

}

四、基本控件:—— RadioButton及RadioGroup
(一)、类结构介绍:
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.LinearLayout
↳ android.widget.RadioGroup

java.lang.Object
↳ android.view.View
↳ android.widget.TextView
↳ android.widget.Button
↳ android.widget.CompoundButton
↳ android.widget.RadioButton

RadioButton继承于Button,所以具有普通按钮的各种属性,但是与普通按钮不同的是,RadioButton提供了可选中的功能。在使用RadioButton的时候,要使用RadioGroup来包围起这些RadioButton。
【备注:】RadioGroup是LinearLayout的子类,所以RadioGroup本质上是一个存放RadioButton的布局容器。
需要记住的是:默认的LinearLayout布局的Orientation属性是水平的,而默认的RadioGroup的Orientation属性是垂直的。

(二)、重点记忆的类方法:
1、RadioGroup类中的getCheckedRadioButtonId()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值