安卓 View 和常见控件

简介: ViewView.getVisibility()很显然,我们可以用 View.getVisibility() 来检查一个它是否处于View.VISIBLE状态。这是最基本的检查,如果连这个方法得到的返回值都是View.INVISIBLE或者View.GONE 的话,那么它对用户肯定是不可见的。View.isShown()这个方法相当于对 View 的所有祖先调用 getVisibility 方法。

View



View.getVisibility()


很显然,我们可以用 View.getVisibility() 来检查一个它是否处于View.VISIBLE状态。这是最基本的检查,如果连这个方法得到的返回值都是View.INVISIBLE或者View.GONE 的话,那么它对用户肯定是不可见的。


View.isShown()

这个方法相当于对 View 的所有祖先调用 getVisibility 方法。


布局管理器 ViewGroup



常用三大布局


  1. 帧布局 FrameLayout - 用于单个子视图。


  1. 线性布局 LinearLayout - 用于横向或竖向依次摆放视图的布局。


  1. 相对布局 RelativeLayout - 用于定义与父视图和兄弟视图的相对位置的布局。


绝对布局(已淘汰)


这些布局管理器都扩展了 View Group 类(它本身是 View 类的子类),该类专门设计为包含和布置多个子视图。这意味着,如果您特别有冒险精神,完全可以创建自己的布局管理器。

ScrollView



public class ScrollView


extends FrameLayout


java.lang.Object


android.view.View


android.view.ViewGroup


android.widget.FrameLayout


android.widget.ScrollView


它是 FrameLayout 类的子类(这意味着您应该只放入一个子视图,该子项包含要滚动的完整内容),允许用户垂直滚动,来展示比屏幕可显示范围更多的内容。ScrollView 通常包含一个垂直方向的 LinearLayout。


ListView


java.lang.Object
   ↳    android.view.View
       ↳    android.view.ViewGroup
           ↳    android.widget.AdapterView<android.widget.ListAdapter>
               ↳    android.widget.AbsListView
                   ↳    android.widget.ListView


A view that shows items in a vertically scrolling list. The items come from the ListAdapter associated with this view.


See the List View guide.


ListView 是为显示较多项列表而优化的特殊控件。它能非常高效地创建、回收和显示视图,而且经过优化,能非常顺畅地滚动。


在自定义 listview 的 item 的布局的时候, 通常加上最小高度的属性, 防止高度过小导致用户点击不到。 android:minHeight="?android:attr/listPreferredItemHeight"

而且还常常加上垂直居中  android:gravity="center_vertical"


常用控件



edittext 不写的话 getText 不为null, 然后得到的是空字符串 "", 然后长度为0

EditText 主题一般会自带背景,如果需要去掉的话, android:background="@null"

Android Button 默认样式高度问题, 去掉可用android:minHeight="0px"


代码设置textview 字体颜色


setTextColor(0xFF0000FF);


//0xFF0000FF是int类型的数据,分组一下0x|FF|0000FF,0x是代表颜色整 数的标记,ff是表示透明度,0000FF表示颜色,注意:这里0xFF0000FF必须是8个的颜色表示,不接受0000FF这种6个的颜色表示。


setTextColor(Color.rgb(255, 255, 255));


setTextColor(Color.parseColor("#FFFFFF"));


//还有就是使用资源文件进行设置


setTextColor(this.getResources().getColor(R.color.blue));


//通过获得资源文件进行设置。根据不同的情况R.color.blue也可以是R.string.blue或者


//另外还可以使用系统自带的颜色类


setTextColor(android.graphics.Color.BLUE);


读取 xml 中读取尺寸单位的三个方法



工作上碰到需要从 xml 中读取尺寸的问题。发现 getResources()下有3个获取方法。


  • getDimension()方法,返回类型是float,他是没有做任何处理的数值。


  • getDimensionPixelOffset(),返回类型int,他会把计算结果直接强转成int型。


  • getDimensionPixelSize(),返回类型 int,他会把计算结果四舍五入。


举个例子就很好明白了,如果getDimension()方法得到的数值是44.5,那么getDimensionPixelOffset()得到的就是44,getDimensionPixelSize()就是45.


android中getWidth()和getMeasuredWidth()之间的区别


getMeasuredWidth()获取的是 view 原始的大小,也就是这个 view 在XML文件中配置或者是代码中设置的大小。


getWidth()获取的是这个 view 最终显示的大小,这个大小有可能等于原始的大小也有可能不等于原始大小。




目录
相关文章
|
2月前
|
数据可视化 Android开发 开发者
安卓应用开发中的自定义View组件
【10月更文挑战第5天】在安卓应用开发中,自定义View组件是提升用户交互体验的利器。本篇将深入探讨如何从零开始创建自定义View,包括设计理念、实现步骤以及性能优化技巧,帮助开发者打造流畅且富有创意的用户界面。
94 0
|
27天前
|
XML 前端开发 Android开发
Android:UI:Drawable:View/ImageView与Drawable
通过本文的介绍,我们详细探讨了Android中Drawable、View和ImageView的使用方法及其相互关系。Drawable作为图像和图形的抽象表示,提供了丰富的子类和自定义能力,使得开发者能够灵活地实现各种UI效果。View和ImageView则通过使用Drawable实现了各种图像和图形的显示需求。希望本文能为您在Android开发中使用Drawable提供有价值的参考和指导。
40 2
|
1月前
|
Android开发 开发者 UED
安卓开发中自定义View的实现与性能优化
【10月更文挑战第28天】在安卓开发领域,自定义View是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何高效地创建和管理自定义View,以及如何通过代码和性能调优来确保流畅的交互体验。我们将一起学习自定义View的生命周期、绘图基础和事件处理,进而探索内存和布局优化技巧,最终实现既美观又高效的安卓界面。
36 5
|
2月前
|
缓存 数据处理 Android开发
在 Android 中使用 RxJava 更新 View
【10月更文挑战第20天】使用 RxJava 来更新 View 可以提供更优雅、更高效的解决方案。通过合理地运用操作符和订阅机制,我们能够轻松地处理异步数据并在主线程中进行 View 的更新。在实际应用中,需要根据具体情况进行灵活运用,并注意相关的注意事项和性能优化,以确保应用的稳定性和流畅性。可以通过不断的实践和探索,进一步掌握在 Android 中使用 RxJava 更新 View 的技巧和方法,为开发高质量的 Android 应用提供有力支持。
|
2月前
|
缓存 调度 Android开发
Android 在子线程更新 View
【10月更文挑战第21天】在 Android 开发中,虽然不能直接在子线程更新 View,但通过使用 Handler、AsyncTask 或 RxJava 等方法,可以实现子线程操作并在主线程更新 View 的目的。在实际应用中,需要根据具体情况选择合适的方法,并注意相关的注意事项和性能优化,以确保应用的稳定性和流畅性。可以通过不断的实践和探索,进一步掌握在子线程更新 View 的技巧和方法,为开发高质量的 Android 应用提供支持。
37 2
|
2月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
|
2月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
27 2
|
2月前
|
XML 前端开发 Android开发
Android View的绘制流程和原理详细解说
Android View的绘制流程和原理详细解说
47 3
|
2月前
|
XML 前端开发 Java
安卓应用开发中的自定义View组件
【10月更文挑战第5天】自定义View是安卓应用开发的一块基石,它为开发者提供了无限的可能。通过掌握其原理和实现方法,可以创造出既美观又实用的用户界面。本文将引导你了解自定义View的创建过程,包括绘制技巧、事件处理以及性能优化等关键步骤。
|
2月前
|
XML 存储 Java
浅谈Android的TextView控件
浅谈Android的TextView控件
41 0