Android 中文API —— ViewSwitcher===
Android 2.2 API 中文文档
直接子类:
Button, CheckedTextView, Chronometer, DigitalClock, EditText
间接子类: AutoCompleteTextView, CheckBox, CompoundButton, ExtractEditText,MultiAutoCompleteTextView, RadioButton, ToggleButton
android:width
android:maxWidth android:minWidth 1.3 补充说明
设置文字大小,推荐度量单位”sp”,如”15sp” 设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic
(又粗又斜) 2] 可以设置一个或多个,用“|”隔开 设置文本字体,必须是以下常量值之一:normal 0,
android:ems
设置TextView的宽度为N个字符的宽度。这里测试为一个 汉字字符宽度,如图:
android:maxEms
设置TextView的宽度为最长为N个字符的宽度。与ems同 时使用时覆盖ems选项。
2
android:minEms
设置TextView的宽度为最短为N个字符的宽度。与ems同 时使用时覆盖ems选项。
EditText将详细说明。
android:password
以小点”.”显示文本
android:phoneNumber
设置为电话号码的输入方式。
android:privateImeOptions
设置输入法选项,此处无用,在EditText将进一步讨 论。
android:scrollHorizontally
用,可设置为负数,单独使用没有效果。
005_Android2.2 API中文文档——View
android:paddingRight
设置右边的边距,以像素为单位填充空白。.
android:paddingTop
设置上方的边距,以像素为单位填充空白。
android:saveEnabled
设置是否在窗口冻结时(如旋转屏幕)保存View的数据,默认为true,但是前提是你需要设置id才能自动保存,参见这里。
已知间接子类:
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
安卓switch用法
安卓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被关闭}}});。
Android—API中文文档
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 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的方法一、概述在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);```请注意,反射是一种强大的工具,但也可能带来安全风险和性能问题。
Android—ViewSwitcher使用范例
前言虽然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 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使用详解
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状态的问题
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-----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事件。
android viewswitcher用法
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用法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开发之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中文翻译组
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 会接收回调函数运行于后台,这些事件指的是在用户接口间的状态转换,比如,焦点变化,按钮被点击等。
ANDROID UI API中文文档
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 设置文本的行数,设置两行就显示两行,即使第二行没有数据。
androidapi中文文档
android:inputType
设置文本的类型,用于帮助输入法显示合适的键盘类型。有如下值设置:none、text、textCapCharacters字母大小、textCapWords单词首字母大小、textCapSentences仅第一个字母大小、textAutoCorrect、textAutoComplete自动完成、textMultiLine多行输入、textImeMultiLine输入法多行(如果支持)、textNoSuggestions不提示、textEmailAddress电子邮件地址、textEmailSubject邮件主题、textShortMessage短信息(会多一个表情按钮出来,点开如下图:
android:scrollHorizontally
设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:selectAllOnFocus
如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。
android:shadowColor
指定文本阴影的颜色,需要与shadowRadius一起使用。参见TextView中此属性的截图。
Android应用程序API中英文对照外文翻译文献
中英文资料对照外文翻译Android API级别当你开发你的Android应用程序时,了解该平台API变更管理的基本方法和概念是很有帮助的。
同样的,知道API级别标识以及该标识如何保障你的应用与实际硬件设备相兼容对于开发及后续的发布、维护都是有益的。
本节内容告诉你API级别的知识,以及它如何影响你开发和使用的应用。
关于如何使用“以API级别进行过滤”来使用API参考手册,从本文末尾的文档过滤(Filtering the documentation)中可以得到更多信息。
API级别是什么?API级别是一个整数值,它唯一标识了一个具体版本的Android平台,及其框架的API的版本。
Android平台提供了一套框架API,使得应用程序可以与系统底层进行交互。
该框架API由以下模块组成:∙一组核心的包和类∙清单(manifest)文件的XML元素和属性声明∙资源文件的XML元素和属性声明及访问形式∙各类意图(Intents)∙应用程序可以请求的各类授权,以及系统中包含的授权执行每个Android平台的后续版本会包括它提供的更新的Android应用程序框架的API。
该框架的API的更新设计,使高版本的API与早期版本兼容。
也就是说,在新版本API中大多数都是新增功能,和引进新的或替代的功能。
作为API的部分升级,老的替换的部分已过时,但不会从新版本中删除,使得已有的应用程序仍然可以使用它们。
在极少数情况下,旧版本API的部分可能被修改或删除,通常这种变化是为了保障API的稳定性及应用程序或系统的安全。
所有其他早期版本的API将不做修改的保留。
一个Android平台提供的框架API,被指定一个整数标识符,称为“API级别”。
每一个版本的Android平台只支持有一个API级别,虽然该支持是隐含地包括了所有早期的API级别(一直到API级别1级)。
Android平台的最初版本提供的框架API级别是1级,随后的版本依次递增。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。