Android 中文API —— ViewSwitcher===
- 格式:doc
- 大小:42.00 KB
- 文档页数:3
安卓Switch控件Android中的Switch是一种用户界面控件,通常用于表示两个状态之间的切换,例如开关按钮。
当用户触摸Switch控件并拖动它时,它会在“开”和“关”之间切换。
在Android中,可以通过在XML布局文件中添加以下代码来添加Switch控件:<Switchandroid:id="@+id/switch1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Switch" />在Java代码中,可以使用以下代码来获取Switch控件并设置其状态:Switch switch1 = (Switch) find ViewById(R.id.switch1);switch1.set Checked(true); // 设置Switch为打开状态switch1.set Checked(false); // 设置Switch为关闭状态此外,还可以使用setOnCheckedChangeListener()方法来监听Switch状态的变化,例如:switch1.setOnCheckedChangeListener(newCompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if (isChecked) {// Switch被打开} else {// Switch被关闭}}});。
Android2.2——API中文文档LLGYZB@目录:(1)—— TextView(2)—— EditText(3)—— AccessibilityService(4)—— Manifest(5)—— View(6)—— ImageView(7)—— ImageButton(8)—— QuickContactBadge(9)—— ZoomButton(10)—— CheckBox(11)—— RadioButton(12)—— Button(13)—— ToggleButton(14)—— ViewStub(15)——GridView一、TextView1、结构ng.Object↳android.view.View↳android.widget.TextView2、已知直接子类:Button, CheckedTextView, Chronometer, DigitalClock, EditText3、已知间接子类:AutoCompleteTextView, CheckBox, CompoundButton, ExtractEditText,MultiAutoCompleteTextView, RadioButton, ToggleButton二、EditText1、结构ng.Object↳ android.view.View↳android.widget.TextView↳ android.widget.EditText已知直接子类:AutoCompleteTextView, ExtractEditText已知间接子类: MultiAutoCompleteTextView2、xml 属性补充说明:a).由于是继承自TextView,所以属性是一样的,但是这里重点补充了输入法相关的属性说明和研究,部分注释也做了相应的调整。
b).Word格式下载/source/26641643、例子3.1<!--[endif]-->android:imeOptions例子<EditText android:id="@+id/txtTest" android:imeOptions="actionGo" android:layout_width="100dp" android:layout_height="wrap_con tent"></EditText>((EditText)findViewById(R.id.txtTest)).setOnEditorActionListener( new TextView.OnEditorActionListener() {@Overridepublic boolean onEditorAction(TextView v, int actionI d,KeyEvent event) {if (actionId == EditorInfo.IME_ACTION_GO) {Toast.makeText(TestActivity.this, "你点了Go!", Toast.LENGTH_SHORT).show();}return false;}});三、AccessibilityService1、结构ng.Object↳android.content.Context↳android.content.ContextWrapper↳android.app.Service↳android.accessibilityservice.AccessibilityServicepublic abstract class AccessibilityService extends Service2、类概述当AccessibilityEvent事件被启动后AccessibilityService 会接收回调函数运行于后台,这些事件指的是在用户接口间的状态转换,比如,焦点变化,按钮被点击等。
Android 3.1 r1 API中文文档(6)——ImageView前言本章内容是android.widget.ImageView,为早前发布版本的完整版,版本为Android 3.1 r1,翻译来自"cnmahj"和"农民伯伯",欢迎大家访问"cnmahj"的博客:,再次感谢"/cnmahj"!欢迎你一起参与Android的中文翻译,联系我over140@。
声明欢迎转载,但请保留文章原始出处:)博客园:/Android中文翻译组:http://goo.gl/6vJQlImageView译者署名:cnmahj、农民伯伯译者博客:/cnmahj版本:Android 3.1 r1结构继承关系public class View.OnClickListner extends Viewng.Objectandroid.view.Viewandroid.widget.ImageView直接子类ImageButton, QuickContactBadge间接子类ZoomButton类概述显示任意图像,例如图标。
ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。
嵌套类enum ImageView.ScaleType将图片边界缩放,以适应视图边界时的可选项XML属性公共方法public final void clearColorFilter ()(译者注:清除颜色过滤,参见这里)public int getBaseline ()返回部件顶端到文本基线的偏移量。
如果小部件不支持基线对齐,该方法返回-1。
返回值小部件顶端到文本基线的偏移量;或者是-1 当小部件不支持基线对齐时。
public boolean getBaselineAlignBottom ()返回当前视图基线是否将考虑视图的底部。
android反射调用viewrootimpl的方法一、概述在Android开发中,反射是一种强大的工具,它允许我们在运行时访问和修改类和对象的内部状态。
通过反射,我们可以调用任何类的任何方法,包括ViewRootImpl类的方法。
ViewRootImpl是Android 中的一个类,它用于管理View的绘制和布局。
1.获取Context对象:反射需要Context对象来获取类和方法的访问权限。
通常,我们可以通过Activity或ApplicationContext来获取Context对象。
2.获取ViewRootImpl类:使用反射的Class.forName()方法,根据Context对象获取ViewRootImpl类的Class对象。
3.创建ViewRootImpl对象:使用Class对象的newInstance()方法创建ViewRootImpl对象。
4.获取需要调用的方法:使用反射的getMethod()方法获取需要调用的方法。
5.调用方法:使用反射的invoke()方法调用获取到的方法,并传入相应的参数。
三、示例代码以下是一个简单的示例代码,演示如何反射调用ViewRootImpl的setSurface(Canvascanvas)方法:```java//获取Context对象Contextcontext=YourActivity.this;//获取ViewRootImpl类ClassviewRootImplClass=Class.forName("android.view.ViewRo otImpl");//创建ViewRootImpl对象ObjectviewRootImplObj=viewRootImplClass.newInstance();//获取需要调用的方法MethodsetSurfaceMethod=viewRootImplClass.getMethod("setSu rface",Canvas.class);//调用方法setSurfaceMethod.invoke(viewRootImplObj,canvas);```请注意,反射是一种强大的工具,但也可能带来安全风险和性能问题。
前言虽然ViewSwitcher的中文API早已翻译出来,但一直没有在项目中使用过,也没有搜到很合适很简单的中文例子,这里与大家一起探讨和分享一下其用法。
声明相关APIAndroid 中文API (61)—— ViewSwitcher正文一、简介ViewSwitcher适用于两个视图带动画效果的切换。
这里实现两个视图切换的功能,并附带滑屏效果。
二、截图视图一视图二二、范例代码带动画效果的切换视图一和视图二。
xml<ViewSwitcher android:layout_alignParentBottom="true"android:persistentDrawingCache="animation"android:id="@+id/bottom"android:layout_width="match_parent"android:inAnimation="@android:anim/slide_in_left"android:outAnimation="@android:anim/slide_out_right"android:layout_height="122.0dip"><RelativeLayout android:layout_width="fill_parent"android:layout_gravity="bottom"android:layout_marginBottom="12.0dip"android:id="@+id/lyBottom"android:layout_height="wrap_content"><Button android:id="@+id/btn_pre" android:text="上一步"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_toLeftOf="@+id/btn_middle"android:layout_marginRight="150.0dip" /><Button android:id="@+id/btn_middle"android:layout_width="wrap_content"android:layout_centerInParent="true"android:onClick="onClick" android:visibility="invisible"android:textSize="22.0sp"android:layout_height="wrap_content"></Button><Button android:id="@+id/btn_next" android:text="下一步"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_toRightOf="@+id/btn_middle"android:layout_marginLeft="150.0dip" /></RelativeLayout><RelativeLayout android:layout_width="fill_parent"android:layout_gravity="bottom"android:layout_height="wrap_content"android:orientation="horizontal"><ImageView android:src="@drawable/cube"android:id="@+id/btn_reinsure"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="150.0dip"></ImageView><ImageView android:src="@drawable/cyddz"android:id="@+id/btn_identity"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@+id/btn_reinsure"android:layout_marginLeft="124.0dip"></ImageView><ImageView android:src="@drawable/cykvmce"android:id="@+id/btn_insure_query"android:layout_toRightOf="@+id/btn_identity" android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="140.0dip"></ImageView><ImageView android:src="@drawable/m8gprs"android:id="@+id/btn_review"android:layout_toRightOf="@+id/btn_insure_query"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="140.0dip"></ImageView><ImageView android:src="@drawable/th_appshareth"android:layout_toRightOf="@+id/btn_review"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="130.0dip"></ImageView> </RelativeLayout></ViewSwitcher>代码说明:1. 这里使用系统自带的切换效果@android:anim/slide_in_left和@android:anim/slide_out_right。
Android API 中文(14)—— ViewStub前言关键字:android.view.ViewStub,版本为Android 2.2 r1本章翻译来自唐明,这里本博负责整理和发布,欢迎其他译者一起参与Android API 的中文翻译行动,联系我over140@。
声明欢迎转载,但请保留文章原始出处:)博客园:农民伯伯:/over140/正文一、结构public final class ViewStub extends Viewng.Objectandroid.view.Viewandroid.view.ViewStub二、类概述ViewStub 是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件。
当ViewStub可见,或者调用inflate()函数时,才会加载这个布局资源文件。
该ViewStub在加载视图时在父容器中替换它本身。
因此,ViewStub会一直存在于视图中,直到调用setVisibility(int) 或者inflate()为止。
ViewStub的布局参数会随着加载的视图数一同被添加到ViewStub父容器。
同样,你也可以通过使用inflatedId属性来定义或重命名要加载的视图对象的Id值。
例如:通过"stud"id可以找到被定义的ViewStub对象。
加载布局资源文件"mySubTree "后,ViewStub对象从其父容器中移除。
可以通过id"subTree"找到由布局资源"mySubTree"创建的View。
这个视图对象最后被指定为宽120dip,高40dip。
执行加载布局资源文件的推荐方式如下:当inflate()被调用, 这个ViewStub被加载的视图替代并且返回这个视图对象。
这使得应用程序不需要额外执行findViewById()来获取加载视图的引用。
(译者注:这个类大概意思是用ViewStub类和在XML文件里面指定的布局资源文件关联起来,让布局资源文件在需要使用的时候再加载上去。
AndroidTextSwitcher⽂本切换器和ViewFlipper使⽤详解本⽂为⼤家分享了Android TextSwitcher⽂本切换器的使⽤,供⼤家参考,具体内容如下1.TextSwitcher使⽤:应⽤分为三步:1.得到 TextSwitcher 实例对象TextSwitcher switcher = (TextSwitcher) findViewById(R.id.textSwitcher);2.为switcher指定ViewSwitcher.ViewFactory⼯⼚,该⼯⼚会产⽣出转换时需要的Viewswitcher.setFactory(this);3.为switcher设定显⽰的内容,该⽅法执⾏,就会切换到下个Viewswitcher.setText(String.valueOf(new Random().nextInt()));2.ViewFlipper实现:①创建主布局⽂件,包含ViewFlipper控件(从源码来看,ViewFlipper控件是集成FrameLayout,也是相当于⼀个帧布局,只是包含了⼀些特殊的属性)②创建ViewFlipper的⼦View,就是两个LinearLayout(⾥⾯包含两个TextView)③创建ViewFlipper中⼦view的进⼊和退出动画anim_in和anim_out两个动画⽂件④在Activity中将两个⼦View添加到ViewFlipper中去,调动的是ViewFlipper的addView⽅法具体代码:①创建主布局⽂件activity_main.xml<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayoutxmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:fitsSystemWindows="true"tools:context="com.qianmo.rollads.MainActivity"><android.support.design.widget.AppBarLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:theme="@style/AppTheme.AppBarOverlay"><android.support.v7.widget.Toolbarandroid:id="@+id/toolbar"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"android:background="?attr/colorPrimary"app:popupTheme="@style/AppTheme.PopupOverlay"/></android.support.design.widget.AppBarLayout><RelativeLayoutandroid:id="@+id/content_main"android:layout_width="match_parent"android:layout_height="match_parent"app:layout_behavior="@string/appbar_scrolling_view_behavior"tools:context="com.qianmo.rollads.MainActivity"tools:showIn="@layout/activity_main"><ViewFlipperandroid:id="@+id/viewFlipper"android:layout_width="match_parent"android:layout_height="wrap_content"android:autoStart="true"android:background="#fff"android:flipInterval="3000"android:inAnimation="@anim/anim_in"android:outAnimation="@anim/anim_out"android:paddingLeft="30dp"></ViewFlipper></RelativeLayout><android.support.design.widget.FloatingActionButtonandroid:id="@+id/fab"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="bottom|end"android:layout_margin="@dimen/fab_margin"app:srcCompat="@android:drawable/ic_dialog_email"/></android.support.design.widget.CoordinatorLayout>②创建ViewFlipper的⼦View,这⾥有两个,我就只给出⼀个来了,另⼀个是⼀样的one_ads.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="8dp"><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center_vertical"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="热议"android:textColor="#F14C00"android:textSize="12sp"android:background="@drawable/bg"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:ellipsize="end"android:padding="3dp"android:singleLine="true"android:text="⼩⽶8问世,雷胖⼦现在笑的开⼼了啦!"android:textColor="#333"android:textSize="16sp"/></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center_vertical"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="热议"android:textColor="#F14C00"android:textSize="12sp"android:background="@drawable/bg"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:ellipsize="end"android:padding="3dp"android:singleLine="true"android:text="取了个漂亮的媳妇,整的是好开⼼!"android:textColor="#333"android:textSize="16sp"/></LinearLayout></LinearLayout>③创建ViewFlipper中⼦view的进⼊和退出动画anim_in和anim_out两个动画⽂件,这⾥也只给出anim_in的代码,anim_out代码是类似的anim_in.xml<?xml version="1.0" encoding="utf-8"?><set xmlns:android="/apk/res/android"><translateandroid:duration="1500"android:fromYDelta="100%p"android:toYDelta="0"/></set>④在Activity中将两个⼦View添加到ViewFlipper中去,调动的是ViewFlipper的addView⽅法 MainActivity.javapackage com.qianmo.rollads;import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.Snackbar;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.View;import android.view.Menu;import android.view.MenuItem;import android.widget.ViewFlipper;public class MainActivity extends AppCompatActivity {private ViewFlipper viewFlipper;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);setSupportActionBar(toolbar);FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);fab.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show();}});viewFlipper.addView(View.inflate(this, yout.one_ads, null));viewFlipper.addView(View.inflate(this, yout.two_ads, null));}}ok,来看⼀下我们的效果以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
delphiXE7关于androidAPI的使⽤和检测WIFI状态的问题在⼤富翁论坛上有⼀篇介绍delphi xe5下获取⽹络状态的⽂章并附带了⼀个work.pas单元,我使⽤到XE7下,编译后点击按钮就出来⼀个错误对话框什么10027什么的,开始我以为是不通⽤那,我就利⽤爱吃猪头⾁ QQ: 1444386932 提供的jar转换⼯具转换了安卓jar包中的⽂件,正常运⾏后还是提⽰错误,后来发现是原来delphi编译器没有设置安卓的权限,可是这也让我稍微学习到⼀点,只要将安卓的jar⽂件转换下能让delphi调⽤,应该是所有的api都可以实现调⽤了吧,稍微参考下⽹上其他编程⼯具写的代码就可以转换为delphi的代码,挺兴奋的,终于近了⼀步,⼤富翁论坛上看到官⽅也提供了⼀个转换⼯具,只能提供给正式版⽤户使⽤,暂时下载不到,以后学习的时候再说吧,顺便附上我转换的⼏个⽂件,再次感谢爱吃猪头⾁ QQ: 1444386932 提供的这么好的⼯具,膜拜下...unit Unit1;interfaceusesSystem.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, youts,FMX.Memo, FMX.StdCtrls;typeTForm1 = class(TForm)Button1: TButton;mmo1: TMemo;procedure Button1Click(Sender: TObject);private{ Private declarations }procedure print(str:string) ;public{ Public declarations }/// <summary>/// 检测安卓WIFI状态/// </summary>/// <returns>/// 返回WIFI状态/// </returns>function IsWiFiConnected: Boolean;end;varForm1: TForm1;implementation{$R *.fmx}uses .ConnectivityManager,workInfo,workInfo_DetailedState,workInfo_State, FMX.Helpers.Android,Androidapi.JNI.JavaTypes, Androidapi.JNI.GraphicsContentViewText,FMX.Platform.Android, Androidapi.JNIBridge, Androidapi.JNI.Provider,Androidapi.Helpers, AndroidAPI.jni.OS;{ TForm1 }function GetConnectivityManager: JConnectivityManager;varConnectivityServiceNative: JObject;beginConnectivityServiceNative := SharedActivityContext.getSystemService(TJContext.JavaClass.CONNECTIVITY_SERVICE);if not Assigned(ConnectivityServiceNative) thenraise Exception.Create('Could not locate Connectivity Service');Result := TJConnectivityManager.Wrap((ConnectivityServiceNative as ILocalObject).GetObjectID);if not Assigned(Result) thenraise Exception.Create('Could not access Connectivity Manager');end;procedure TForm1.Button1Click(Sender: TObject);beginif IsWiFiConnected thenbeginprint('wifi正常');endelsebeginprint('wifi断开');end;end;function TForm1.IsWiFiConnected: Boolean;varConnectivityManager: JConnectivityManager;WiFiNetwork: JNetworkInfo;beginConnectivityManager := GetConnectivityManager;WiFiNetwork := ConnectivityManager.getNetworkInfo(TJConnectivityManager.JavaClass.TYPE_WIFI); Result := WiFiNetwork.isConnected;end;procedure TForm1.print(str: string);beginmmo1.Lines.Add(str)end;end.//====================================================//// 转换来⾃JavaClassToDelphiUnit// 原始作者:ying32// QQ: 1444386932// 396506155// Email:yuanfen3287@//// 修改 By:Flying Wang & 爱吃猪头⾁// 请不要移除以上的任何信息。
Android-----WebView使用大部分内容为网上整理其它高人的帖子,现只作整理,用于查看:在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView 组件。
什么是webkitWebKit是Mac OS X v10.3及以上版本所包含的软件框架(对v10.2.7及以上版本也可通过软件更新获取)。
同时,WebKit也是Mac OS X的Safari网页浏览器的基础。
WebKit是一个开源项目,主要由KDE的KHTML修改而来并且包含了一些来自苹果公司的一些组件。
传统上,WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore,它们分别对应的是KDE的KHTML和KJS。
不过,随着JavaScript引擎的独立性越来越强,现在WebKit 和WebCore已经基本上混用不分(例如Google Chrome和Maxthon 3采用V8引擎,却仍然宣称自己是WebKit内核)。
这里我们初步体验一下在android是使用webview浏览网页,在SDK的Dev Guide中有一个WebView的简单例子。
在开发过程中应该注意几点:1.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。
2.如果访问的页面中有Javascript,则webview必须设置支持Javascript。
webview.getSettings().setJavaScriptEnabled(true);3.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android 的系统browser中响应该链接,必须覆盖webview的WebViewClient对象。
4.如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,如果希望浏览的网页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该Back事件。
androidviewswitcher用法在Android开发中,ViewSwitcher控件是一种非常有用的容器类控件,它能够轻松地在一个界面中切换不同的视图。
本文将介绍ViewSwitcher的基本用法、属性和方法,帮助开发者更好地使用这个控件。
一、ViewSwitcher简介ViewSwitcher是Android中的一种容器类控件,它能够在一个Activity或Fragment中同时显示和切换不同的视图。
通过ViewSwitcher,开发者可以轻松地实现视图的切换,而不需要使用复杂的动画效果和布局管理器。
二、ViewSwitcher的基本用法要使用ViewSwitcher,首先需要在布局文件中添加ViewSwitcher 的XML定义。
以下是一个简单的ViewSwitcher示例:```xml<ViewSwitcherandroid:id="@+id/viewSwitcher"android:layout_width="match_parent"android:layout_height="match_parent"></ViewSwitcher>```在Java代码中,可以通过findViewById()方法获取ViewSwitcher的实例,并使用setDisplayedChild()方法来切换不同的视图。
以下是一个简单的Java代码示例:```javaViewSwitcherviewSwitcher=findViewById(R.id.viewSwitcher);viewSwitcher.setDisplayedChild(0);//切换到第一个视图```三、ViewSwitcher的属性与方法ViewSwitcher具有一些属性和方法,可以帮助开发者更好地控制视图切换的行为和效果。
以下是一些常用的属性与方法:*`setChildrenDrawingCacheEnabled(booleanenabled)`:启用或禁用子视图的绘制缓存,可以提高视图切换时的性能。
android view tag用法Android中View的tag属性是一个非常有用的特性,它可以帮助开发者在代码中为View添加额外的信息,以便于后续的操作和处理。
本文将一步一步回答关于Android中View tag的用法,包括如何设置tag属性以及如何获取和使用tag的值。
第一步:设置View的tag属性在Android中,可以通过使用setTag()方法为一个View设置tag属性,示例如下:javaView view = findViewById(R.id.my_view);view.setTag("my_tag"); 设置tag属性为"my_tag"上述代码中,我们通过findViewById()方法获取到一个View,然后使用setTag()方法将tag属性设置为"my_tag"。
这样,我们就为该View添加了一个tag属性。
第二步:获取View的tag值使用getTag()方法可以获取一个View的tag属性的值,示例如下:javaView view = findViewById(R.id.my_view);String tag = (String) view.getTag(); 获取tag属性的值上述代码中,我们通过findViewById()方法获取到一个View,然后使用getTag()方法获取该View的tag属性的值,并将其转换为String类型。
这样,我们就可以得到这个View的tag值。
第三步:使用View的tag值在获取到一个View的tag值之后,我们可以根据具体的需求来使用它。
以下是几种常见的使用方式:1. 根据tag值判断View的类型或属性:javaif (tag.equals("my_tag")) {根据tag值执行相应的操作}我们可以根据tag值来判断View的类型或属性,从而执行相应的操作。
Android开发之ViewSwitcher⽤法实例本⽂实例讲述了Android开发之ViewSwitcher⽤法。
分享给⼤家供⼤家参考,具体如下:android.widget.ViewSwitcher是ViewAnimator的⼦类,⽤于在两个View之间切换,但每次只能显⽰⼀个View。
ViewSwitcher的addView函数的代码如下:/*** {@inheritDoc}** @throws IllegalStateException if this switcher already contains two children*/@Overridepublic void addView(View child, int index, youtParams params) {if (getChildCount() >= 2) {throw new IllegalStateException("Can't add more than 2 views to a ViewSwitcher");}super.addView(child, index, params);}可以看出,若View的数量超过两个,会抛出异常:ng.IllegalStateException,打印 "Can't add more than 2 views to a ViewSwitcher" 。
你可以使⽤ViewSwitcher的factory创建View或添加⾃⼰创建的View。
下⾯⽤⼀个例⼦介绍⼀下ViewSwitcher的⽤法。
布局⽂件:activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal" ><Buttonandroid:id="@+id/prev"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="previous" /><Buttonandroid:id="@+id/next"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="next" /></LinearLayout><ViewSwitcherandroid:id="@+id/viewswitcher"android:layout_width="match_parent"android:layout_height="wrap_content" ><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ic_launcher" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:orientation="vertical" ><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="- Button 2 -" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="LinearLayout 2" /></LinearLayout></ViewSwitcher></LinearLayout>Activity的代码:package com.example.AndroidTest;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.Button;import android.widget.ViewSwitcher;public class MyActivity extends Activity {Button buttonPrev, buttonNext;ViewSwitcher viewSwitcher;Animation slide_in_left, slide_out_right;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);buttonPrev = (Button) findViewById(R.id.prev);buttonNext = (Button) findViewById(R.id.next);viewSwitcher = (ViewSwitcher) findViewById(R.id.viewswitcher);slide_in_left = AnimationUtils.loadAnimation(this,android.R.anim.slide_in_left);slide_out_right = AnimationUtils.loadAnimation(this,android.R.anim.slide_out_right);viewSwitcher.setInAnimation(slide_in_left);viewSwitcher.setOutAnimation(slide_out_right);buttonPrev.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {viewSwitcher.showPrevious();}});buttonNext.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {viewSwitcher.showNext();}});;}}实现效果图:使⽤ViewSwitcher的setFactory设置切换的View,分为两步。
Android中文API合集(50篇)Android中文翻译组关于API文档(Reference)是Android开发的基础,三年来(2007-2010)官方仍未出中文版的API,Android中文翻译组聚一批从事Android开发人员、论坛版主、大学生、研究生等利用业余时间对Android的API进行翻译,人数从1人到80+人不断壮大,发表的译文从1篇到50篇不断增多,为的只是多一份Android中文资料,欢迎更多朋友的加入,联系我们:QQ:36408253 Gtalk:over140@欢迎大家访问翻译组在淘蝌蚪上搭建的项目:/project/view/404/(cnAndroid),可使用SVN客户端匿名下载:/svn/cnAndroid,在这里可以查看翻译组当前的最新的进度和翻译稿,也可以直接向我们提问。
关于翻译组的更多介绍,请看这里。
章节结构继承关系public final class Manifest extends Objectng.Object android.Manifest内部类class Manifest.permission权限class Manifest.permission_group权限组构造函数public Manifest ()构造函数补充文章精选android Manifest.xml选项Manifest.permission结构继承关系public static final class Manifest.permission extends Objectng.Objectandroid. Manifest.permission常量结构继承关系public static final class Manifest.permission_group extends Objectng.Objectandroid. Manifest.permission_group常量结构public abstract class AccessibilityService extends Serviceng.Objectandroid.content.Contextandroid.content.ContextWrapperandroid.app.Serviceandroid.accessibilityservice.Accessibil ityService类概述当AccessibilityEvent事件被启动后AccessibilityService 会接收回调函数运行于后台,这些事件指的是在用户接口间的状态转换,比如,焦点变化,按钮被点击等。
Android2.2——API中文文档目录:(1)——TextView(2)——EditText(3)——AccessibilityService(4)——Manifest(5)——View(6)——ImageView(7)——ImageButton(8)——QuickContactBadge(9)——ZoomButton(10)——CheckBox(11)——RadioButton(12)——Button(13)——ToggleButton(14)——ViewStub(15)——GridView一、TextView1、结构ng.Object↳android.view.View↳android.widget.TextView2、已知直接子类:Button,CheckedTextView,Chronometer,DigitalClock,EditText3、已知间接子类:AutoCompleteTextView,CheckBox,CompoundButton,ExtractEditText,MultiAutoCompleteTextView,RadioButton,ToggleButtonandroid:marqueeRepeatLimit 在ellipsize 指定marquee 的情况下,设置重复滚动的次数,当设置为marquee_forever 时表示无限次。
android:ems设置TextView 的宽度为N 个字符的宽度。
这里测试为一个汉字字符宽度,如图:android:maxEms 设置TextView 的宽度为最长为N 个字符的宽度。
与ems同时使用时覆盖ems 选项。
android:minEms 设置TextView 的宽度为最短为N 个字符的宽度。
与ems同时使用时覆盖ems 选项。
android:maxLength 限制显示的文本长度,超出部分不显示。
android:lines 设置文本的行数,设置两行就显示两行,即使第二行没有数据。
Android 中文API —— ViewSwitcher
前言
本章内容是android.widget.ViewSwitcher,版本为Android 2.3 r1,翻译来自"ivanlee",再次感谢"ivanlee" !期待你一起参与Android中文API的翻译,联系我over140@。
声明
欢迎转载,但请保留文章原始出处:)
博客园:/
Android中文翻译组:/project/view/404/
正文
一、结构
public class ViewSwitcher extends ViewAnimator
ng.Object
android.view.View
android.view.ViewGroup
android.widget.FrameLayout
android.widget.ViewAnimator
android.widget.ViewSwitcher
已知直接子类
ImageSwitcher, TextSwitcher
二、概述
在两个视图间转换时显示动画,有一个可以创建这些视图的工厂类。
你可以用工厂来创建这些视图,也可以自己创建。
一个ViewSwitcher只允许包含两个子视图,且一次仅能显示一个。
(译者注:与ViewFlipper类相似,但该类不常用,常用其两个子类ImageSwitcher:转换图片时增加动画效果; TextSwitcher:转换文字时增加动画效果; 其实例见apidemos中ImageSwitcher实例和TextSwitcher实例)
三、内部类
interface ViewSwitcher.ViewFactory
在一个ViewSwitcher里创建视图
四、构造函数
public ViewSwitcher (Context context)
构造一个新的空的视图转换器(ViewSwitcher)。
参数
context 应用环境(译者注:应用程序上下文)
public ViewSwitcher (Context context, AttributeSet attrs)
构造一个指定上下文、属性集合的空的视图转换器(ViewSwitcher)。
参数
context 应用环境(译者注:应用程序上下文)
attrs 属性集合
五、公共方法
public void addView(View child, int index, youtParams params)
添加一个指定布局参数的子视图
参数
child 添加的子视图
index 添加的子视图的索引
params 子视图的布局参数
异常
IllegalStateException 如果切换器中已经包含了两个视图时。
public View getNextView ()
返回下一个要显示的视图
返回
视图切换之后将要显示出的下一个视图
public void reset ()
重置视图转换器(ViewSwitcher)来隐藏所有存在的视图,并使转换器达到一次动画都还没有播放的状态。
public void setFactory (ViewSwitcher.ViewFactory factory)
设置用来生成将在视图转换器中切换的两个视图的工厂。
也可以调用两次 addView(android.view.View, int, youtParams)来替代使用工厂的方法。
参数
factory 用来生成转换器内容的视图工厂
六、补充
文章精选
android UI ViewSwitcher的使用(续二)
Android: Don’t Overlook ViewSwitcher
Using a ViewSwitcher in your Android xml layouts。