`
阿尔萨斯
  • 浏览: 4471754 次
社区版块
存档分类
最新评论

Android_VIEW

 
阅读更多

继承关系:

java.lang.Object

android.view.View

直接子类:

AnalogClock, ImageView, KeyboardView, ProgressBar, SurfaceView, TextView, ViewGroup, ViewStub

间接子类:

AbsListView, AbsSeekBar, AbsSpinner, AbsoluteLayout, AdapterView<T extends Adapter>,AppWidgetHostView, AutoCompleteTextView, Button,CheckBox,CheckedTextView, Chronometer,CompoundButton, DatePicker, DialerFilter, DigitalClock, EditText, ExpandableListView,ExtractEditText, FrameLayout, GLSurfaceView, Gallery, GestureOverlayView, GridView,HorizontalScrollView, ImageButton, ImageSwitcher, LinearLayout, ListView, MediaController,MultiAutoCompleteTextView, QuickContactBadge, RadioButton, RadioGroup, RatingBar,RelativeLayout, ScrollView, SeekBar, SlidingDrawer, Spinner, TabHost, TabWidget, TableLayout,TableRow, TextSwitcher, TimePicker, ToggleButton, TwoLineListItem, VideoView, ViewAnimator,ViewFlipper, ViewSwitcher, WebView, ZoomButton, ZoomControls

XML 属性

android:background

设置背景色/背景图片。

可以通过以下两种方法设置背景为透明:"@android:color/transparent"和"@null"。

注意TextView 默认是透明的,不用写此属性,但是Buttom/ImageButton/ImageView 想透明的话就得写这个属性了。

android:clickable

是否响应点击事件。

android:contentDescription

设置 View 的备注说明,作为一种辅助功能提供,为一些没有文字描述的 View 提供说明,如 ImageButton。

这里在界面上不会有效果,自己在程序中控制,可临时放一点字符串数据。

android:drawingCacheQuality

设置绘图时半透明质量。

有以下值可设置:

  • auto(默认,由框架决定)
  • high(高质量,使用较高的颜色深度,消耗更多的内存)
  • low(低质量,使用较低的颜色深度,但是用更少的内存)。

android:duplicateParentState

直接从父容器中获取绘图状态(光标,按下等)。

<LinearLayout android:clickable="true"
<span style="white-space:pre">	</span>android:background="#ff0fff" android:layout_width="100dp"
<span style="white-space:pre">	</span>android:layout_height="100dp">
<span style="white-space:pre">	</span><Button android:duplicateParentState="true"
<span style="white-space:pre">		</span>android:layout_width="wrap_content"
<span style="white-space:pre">		</span>android:layout_height="wrap_content"/>
</LinearLayout>

注意根据目前测试情况仅仅是获取绘图状态,而没有获取事件,也就是你点一下LinearLayout 时 Button 有被点击的效果,但是不执行点击事件。

android:fadingEdge

设置拉滚动条时 ,边框渐变的放向。

  • none(边框颜色不变)
  • horizontal(水平方向颜色变淡)
  • vertical(垂直方向颜色变淡)

android:fadingEdgeLength

设置 边框渐变的长度。


android:fitsSystemWindows

设置布局调整时是否考虑系统窗口(如状态栏)

android:focusable

设置是否获得焦点。若有 requestFocus()被调用时,后者优先处理。

注意在表单中想设置某一个如 EditText 获取焦点,光设置这个是不行的,需要将这个 EditText 前面的focusable 都设置为 false 才行。

在 Touch 模式下获取焦点需要设置 focusableInTouchMode 为 true。

android:focusableInTouchMode

设置在 Touch 模式下 View 是否能取得焦点。

android:hapticFeedbackEnabled

设置触感反馈。

按软键以及进行某些 UI交互时振动,暂时不知道用法,大家可以找找performHapticFeedback或HapticFeedback这个关键字的资料看看。

android:id

给当前 View 设置一个在当前 layout.xml 中的唯一编号,可以通过调用 View.findViewById() 或 Activity.findViewById()根据这个编号查找到对应的 View。

不同的 layout.xml 之间定义相同的 id 不会冲突。

格式如”@+id/btnName”

android:isScrollContainer

设置当前 View 为滚动容器。

这里没有测试出效果来,ListView/ GridView/ ScrollView 根本就不用设置这个属性,而 EdidText 设置 android:scrollbars 也能出滚动条。

android:keepScreenOn

View 在可见的情况下是否保持唤醒状态。

常在 LinearLayout 使用该属性,但是模拟器这里没有效果。

  • android:longClickable 设置是否响应长按事件.
  • android:minHeight 设置视图最小高度
  • android:minWidth 设置视图最小宽度度

android:nextFocusDown

设置下方指定视图获得下一个焦点。

焦点移动是基于一个在给定方向查找最近邻居的算法。如果指定视图不存在,移动焦点时将报运行时错误。

可以设置

  • imeOptions= actionDone,这样输入完即跳到下一个焦点。
  • android:nextFocusLeft 设置左边指定视图获得下一个焦点。
  • android:nextFocusRight 设置右边指定视图获得下一个焦点。
  • android:nextFocusUp 设置上方指定视图获得下一个焦点。

android:onClick

点击时从上下文中调用指定的方法。

这里指定一个方法名称,一般在 Activity 定义符合如下参数和返回值的函数并将方法名字符串指定为该值即可

activity中:public void onClickButton(View view)

layout中:android:onClick=” onClickButton”

android:padding

设置上下左右的边距,以像素为单位填充空白。


  • android:paddingBottom 设置底部的边距,以像素为单位填充空白。
  • android:paddingLeft设置左边的边距,以像素为单位填充空白。
  • android:paddingRight设置右边的边距,以像素为单位填充空白。.
  • android:paddingTop设置上方的边距,以像素为单位填充空白。

android:saveEnabled

设置是否在窗口冻结时(如旋转屏幕)保存 View 的数据,默认为 true,但是前提是你需要设置 id 才能自动保存,参见如下。

当旋转手机时,如果想要保存EditText的文本的内容,有三种方法:

  1. 只要这个EditText设置了android:id属性就会自动保存。
  2. 可以设置EditText的android:freezesText="true",再到相应的Activity中加上如下两个方法:
    1. CharSequence getSavedText(){ 
      	return ((TextView)findViewById(R.id.saved)).getText(); 
      } 

    2. void setSavedText(CharSequence text){ 
      	((TextView)findViewById(R.id.saved)).setText(text); 
      }
如果想在退出这个Activity时,也能保存EditText的内容:这时可以用state机制来保存。

android:scrollX

以像素为单位设置水平方向滚动的的偏移值,在 GridView中可看的这个效果。

android:scrollY

以像素为单位设置垂直方向滚动的的偏移值

android:scrollbarAlwaysDrawHorizontalTrack

设置是否始终显示垂直滚动条。这里用 ScrollView、ListView测试均没有效果。

android:scrollbarAlwaysDrawVerticalTrack

设置是否始终显示垂直滚动条。这里用 ScrollView、ListView测试均没有效果。

android:scrollbarDefaultDelayBeforeFade

设置 N 毫秒后开始淡化,以毫秒为单位。

android:scrollbarFadeDuration

设置滚动条淡出效果(从有到慢慢的变淡直至消失)时间,以毫秒为单位。Android2.2 中滚动条滚动完之后会消失,再滚动又会出来。

android:scrollbarSize

设置滚动条的宽度。

android:scrollbarStyle

设置滚动条的风格和位置。

设置值:insideOverlay、insideInset、outsideOverlay、outsideInset。

android:scrollbarThumbHorizontal

设置水平滚动条的 drawable(如颜色)。


android:scrollbarThumbVertical

设置垂直滚动条的 drawable(如颜色)


android:scrollbarTrackHorizontal

设置水平滚动条背景(轨迹)的色 drawable(如颜色)


android:scrollbarTrackVertical

设置垂直滚动条背景(轨迹)的 drawable 注意直接设置颜色值如”android:color/white”将得出很难看的效果,甚至都不理解这个属性了,这里可以参见 ApiDemos 里 res/drawable/scrollbar_vertical_thumb.xml 和scrollbar_vertical_track.xml,设置代码为:

android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"


android:scrollbars

设置滚动条显示。

  • none(隐藏)
  • horizontal(水平)
  • vertical(垂直)。

见下列代码演示使用该属性让 EditText 内有滚动条。

但是其他容器如 LinearLayout 设置了但是没有效果。

android:soundEffectsEnabled 设置点击或触摸时是否有声音效果

<EditText android:layout_width="fill_parent"
<span style="white-space:pre">	</span>android:layout_height="wrap_content" android:minHeight="50dp"
<span style="white-space:pre">	</span>android:background="@android:drawable/editbox_background"
<span style="white-space:pre">	</span>android:scrollbars="vertical"
<span style="white-space:pre">	</span>android:maxLines="4">
</EditText>
<EditText android:layout_width="fill_parent"
<span style="white-space:pre">	</span>android:layout_height="wrap_content" android:minHeight="50dp"
<span style="white-space:pre">	</span>android:background="@android:drawable/editbox_background"
<span style="white-space:pre">	</span>android:scrollbars="vertical"
<span style="white-space:pre">	</span>android:maxLines="4">
</EditText>


android:tag

设置一个文本标签。可以通过 View.getTag()或 for withView.findViewWithTag()检索含有该标签字符串的 View。但一般最好通过 ID 来查询 View,因为它的速度更快,并且允许编译时类型检查。

android:visibility

设置是否显示 View。

  • visible(默认值,显示)
  • invisible(不显示,但是仍然占用空间
  • gone(不显示,不占用空间)



分享到:
评论

相关推荐

    android_view_rotate

    "android_view_rotate"这个主题就是关于如何在Android中实现控件的旋转功能,包括手动拖拽旋转和自动旋转。下面我们将深入探讨相关的知识点。 首先,Android中的动画分为两种类型:属性动画(Property Animation)...

    android_lrc_view

    在Android开发中,"android_lrc_view"是一个专门用于显示歌词的工具类,它使得开发者可以轻松地在应用中集成动态歌词展示功能。这个库通常适用于音乐播放应用,为用户提供同步的歌词阅读体验,增强音乐欣赏的乐趣。...

    Android_View_Tools.zip【代替AndroidSDK中的uiautomation】

    2,使用前请先安装Android的SDK,并配置相关环境变量。 3,Android设备连接电脑,打开开发者模式并允许调试,储存设置为文件模式。 4,使用前请先adb devices查看设备是否在线。 若有不懂可咨询wx:Immhaini

    Android_Blog_NavigationView.zip_DEMO_navigationview

    在Android开发中,NavigationView是一个非常重要的组件,它主要用于创建应用的侧滑菜单,通常与 DrawerLayout 结合使用,提供了一种优雅的方式来展示导航选项。在本示例"Android_Blog_NavigationView.zip_DEMO_...

    Android_PdfView

    "Android_PdfView"项目正是为了这个目的而设计的,它利用了开源库`com.github.barteksc:android-pdf-viewer:2.6.1`来实现这一功能。这个库是由Barteksc开发的,它提供了方便的API接口,使得开发者能够在Android应用...

    Android代码-Android_Blog_Demos

    Android 自定义实现 NavigationView Android 不规则图像填充 小玩着色游戏 浅谈 MVP in Android Android ViewDragHelper完全解析 自定义ViewGroup神器 Android HandlerThread 完全解析 Android IntentService完全...

    Android_rotate--animation.zip_Android 动画_android_android animati

    Android提供了多种动画类型,包括视图动画(View Animation)和属性动画(Property Animation)系统。本资源“Android_rotate--animation.zip”似乎聚焦于视图动画中的旋转效果,特别是如何在两个图片之间平滑地进行旋转...

    test_javaandroid_android_

    android:id="@+id/content_view" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"&gt; &lt;!-- 主内容视图的布局 --&gt; android:id="@+id/sliding_...

    android_pdfview(eclipse版)

    `android_pdfview(eclipse版)`是一个专为此目的设计的库,适用于使用Eclipse IDE的开发者。这个库使得在Android应用中预览PDF文件变得简单,无论是从网络加载还是从本地存储读取。下面将详细介绍如何在Eclipse环境下...

    DropView.rar_android_android Spinner_heatlme

    "DropView.rar_android_android Spinner_heatlme" 提供了一个定制化的解决方案,它是一个针对Android平台的自定义下拉列表,作为原生Spinner的增强版,旨在提升用户界面的美观度和交互性。 首先,让我们深入理解...

    Android_如何置底一个View(附_前置声明layout布局文件中的资源ID)

    在Android开发中,视图(View)的布局和排列是非常关键的一部分,尤其是在创建复杂的用户界面时。本篇文章将详细介绍如何在Android中将一个View置底,并通过实例解释如何在RelativeLayout布局中实现这一目标。同时,...

    androidmvp.rar_Androidmvp_Retrofit_android_android 架构_android M

    在Android应用开发中,"MVP"(Model-View-Presenter)是一种常见的设计模式,它有助于提高代码的可测试性和可维护性。本项目“androidmvp.rar”着重展示了如何在Android环境中实施MVP架构,并结合Retrofit库来处理...

    Android_07_Spinne

    而`Android_07_StandarView`可能是对标准视图(Standard View)的讨论,这可能涵盖了一些基本UI组件的使用,包括Spinner在内的其他视图控件。 总之,Android_07_Spinne是一个关于如何在Android应用中有效利用...

    android_UI界面设计

    * android.view 是 Android 平台的显示类,用于处理用户界面的显示。 * 主要的显示类有:View、ViewGroup、LayoutParams 等。 * View 是基本的用户界面组件,可以是按钮、文本框、列表等。 * ViewGroup 是容器类,...

    Sample_9_1.rar_android_android submenu_android 菜单_onCreateOption

    Android.view.Menu接口代表一个菜单,android用它来管理各种菜单项,注意我们一般不自己创建menu,因为每个Activity默认都自带一个,我们要做的是为它加菜单项和响应菜单项的点击事件。Andorid.view.MenuItem代表每...

    WritingPen_android_

    为了进一步理解并改进这个项目,开发者需要熟悉Android的生命周期、事件监听机制、自定义View的绘制流程,以及如何使用Bitmap和Canvas进行图形操作。这不仅有助于提升Android应用的开发技能,也能锻炼对用户交互和...

    Android_UI_组件介绍.pdf

    android:id="@+id/text_view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="16sp" android:padding="10dip" android:background="#00f0d0" android:text=...

    去掉logo的百度地图jar包(BaiduLBS_Android_v4.5.2.jar)

    去掉logo的百度地图jar包,BaiduLBS_Android_v4.5.2.jar(替换官方网站Demo中的BaiduLBS_Android.jar)。 去掉MapView、TextureMapView、WearMapView三处View的logo ... 注意:百度地图SDK jar 不同版本都有所改动,要...

    7+8BottomNavigationView+通讯录初步资源和代码_androidstudio_android_widely9

    在Android开发领域,BottomNavigationView是谷歌官方推荐的一种底部导航栏组件,它可以帮助用户在应用的主要功能之间轻松切换。本资源包“7+8BottomNavigationView+通讯录初步资源和代码”显然是一个针对Android ...

    MVP_Android_Demo

    MVP(Model-View-Presenter)模式是软件设计模式中的一种,尤其在Android开发中被广泛采用。MVP模式的主要目的是为了分离业务逻辑、界面展示和数据处理,提高代码的可测试性和可维护性。 **1. Model层** 在MVP架构...

Global site tag (gtag.js) - Google Analytics