android的几种视图用法——TextView,ImageView,ScrollView,ListView,GridView

1.文本视图TextView

TextView 是最基础的文本显示控件,直接继承自View,SDK把TextView设计为EditText、Button两个控件的父类,因为它们都可以在界面上显示文本,不同的是EditText里的文本是可以给用户编辑的,而Button只是多了一个点击事件而已。TextView常用的基本设置方法如下:

  • setText:设置文本内容
  • setTextColor:设置文本颜色
  • setTextSize:设置文本大小
  • setTextAppearance:设置文本风格,风格定义在res/styles.xml
  • setGravity:设置文本的对齐方式

具体的实现形式如下:

<TextView
        android:id="@+id/tv_textView"
        android:text="你好,整个世界!"
        android:textColor="@color/colorRed"
        android:textSize="30dp"
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

这样的布局就完全把文字居中显示在TextView中间了,并且还是红色文字。

 

2.图像视图ImageView

ImageView是图像显示控件,直接继承自View,任何Drawable对象都可以使用ImageView来显示。主要的属性和常用的一些方法如下:

  • scaleType:指定图形的拉伸类型,默认是fitCenter。拉伸类型主要有fitXY,fitStart,fitCenter,fitEnd,center,centerCrop等
  • src:指定图形来源,src图形按照scaleType拉伸,如果背景图不指定拉伸方向,则以默认方式拉伸
  • maxHeight:设置ImageView的最大高度
  • maxWidth:设置ImageView的最大宽度

调用的方法:

  • setScaleType:设置图形拉伸模型
  • setImageDrawable:设置图形的Drawable对象
  • setImageResource:设置图形的资源ID
  • setImageBitmap:设置图形的位图对象

具体的实现形式如下:

<ImageView
        android:id="@+id/iv_imageView"
        android:scaleType="centerCrop"
        android:src="@drawable/draw_picture"
        android:layout_width="120dp"
        android:layout_height="120dp" />

图片就像下图一样,整张图片居中是因为外层布局

 

3.滚动视图ScrollView

手机屏幕空间有限,常常需要上下滑动或水平滑动才能拉出其余页面内容,由于Android的布局节点不支持自行滚动,所以有了滚动视图。滚动视图分为垂直和水平方向两类,其中垂直滚动的视图名是ScrollView,水平滚动视图名是HorizontalScrollView,但使用这个视图需要注意注意:

  • 垂直方向滚动时,layout_width 要设置为match_parent,layout_height 要设置成wrap_content,水平方向相反。因为当水平或是垂直滚动时,不能把所需要的宽度或高度限制死了嘛
  • 滚动视图节点下面必须且只能挂着一个子布局节点,否则运行时会报错

具体的实现形式如下:

<HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="100dp">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent">

            <View
                android:layout_width="200dp"
                android:layout_height="match_parent"
                android:background="#aaffff" />

            <View
                android:layout_width="600dp"
                android:background="#ffff00"
                android:layout_height="match_parent"/>
        </LinearLayout>
    </HorizontalScrollView>

水平滚动视图下方可以见到滚动条:

 

4.列表视图ListView

ListView允许在页面上分行展示相似的数据界面,如新闻列表、商品列表、书籍列表等,方便用户逐行进行操作,是一个比较友好的界面列表。它的特色属性如下:

  • divider:指定分隔线的图形。如需取消隔线,可设置该属性值为@null
  • dividerHeight:指定分隔线高度
  • headerDividersEnabled:指定是否显示列表开头的分隔线
  • footerDividersEnabled:指定是否显示列表末尾的分隔线

ListView实现了3个与适配器相关的方法:

  • setAdapter:设置列表项的数据适配器,适配器一般继承BaseAdapter
  • setOnItemClickListener:设置列表项的点击事件监听
  • setOnItemLongClickListener:设置列表项的长按事件监听器

实现方式就先在values下创建一个arrays的xml文件,然后在ListView中展现出来,具体如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="sort">
        <item>亲人</item>
        <item>朋友</item>
        <item>同学</item>
        <item>那个她</item>
    </string-array>
</resources>
 <ListView
        android:id="@+id/lv_listView"
        android:entries="@array/sort"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    </ListView>

图像展现的如下界面:

当然也可以使用Java语言动态实现,这就需要使用到适配器了,用ArrayAdapter就可以了

 

5.网格视图GridView

GridView其实说实话就是在ListView的基础上改进了一下,可以实现分行分列显示表格信息,比ListView更适合展示商品清单。它的新增属性如下:

  • horizontalSpacing:指定网格项在水平方向的间距
  • verticalSpacing:指定网格项在垂直方向的间距
  • numColumns:指定列的数目
  • stretchMode:指定剩余空间的拉伸模式
  • columnWidth:指定每列的宽度,拉伸模式为spacingWidth、spacingWidthUniform时,必须指定列宽

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值