android.widget

widget包包括在你的应用屏幕上的ui(主要视觉)元素,你也可以自己设计

创建自定义部件,扩展视图或者一个子类。在自定义widget的xml布局,你需要创建两个额外的文件。

这里有一个列表列出你所需要创建的自定义文件

  • Java implementation file
    • 这是实现部件的行为。如果你能从布局XML实例化对象,你还必须编写一个构造函数,从布局中检索所有属性值的XML文件。
  • XML definition file
    • 创建xml文件在 res/values/目录下,它定义了XML元素用来实例化您的小部件,以及它所支持的属性。其他应用程序将使用此元素和属性的另一个布局的XML。
  • Layout XML
    • res/layout/目录下一个可选的XML文件,描述您的小部件的布局。你也可以在您的Java代码文件。
ApiDemos示例应用程序有一个示例创建一个自定义布局XML标记,LabelView。
看到下面的文件,证明实现和使用一个自定义小部件:
  • LabelView.java   实现文件
  • res/values/attrs.xml    定义文件
  • res/layout/custom_view_1.xml   布局文件

接口

AbsListView.OnScrollListener
AbsListView.RecyclerListener
Adapter
AdapterView.OnItemClickListener
AdapterView.OnItemLongClickListener
AdapterView.OnItemSelectedListener
AutoCompleteTextView.Validator
Checkable
Chronometer.OnChronometerTickListener
CompoundButton.OnCheckedChangeListener
DatePicker.OnDateChangedListener
ExpandableListAdapter
ExpandableListView.OnChildClickListener
ExpandableListView.OnGroupClickListener
ExpandableListView.OnGroupCollapseListener
ExpandableListView.OnGroupExpandListener
Filter.FilterListener
Filterable
FilterQueryProvider
HeterogeneousExpandableList
ListAdapter
MediaController.MediaPlayerControl
MultiAutoCompleteTextView.Tokenizer
PopupWindow.OnDismissListener
RadioGroup.OnCheckedChangeListener
RatingBar.OnRatingBarChangeListener
SectionIndexer
SeekBar.OnSeekBarChangeListener
SimpleAdapter.ViewBinder
SimpleCursorAdapter.CursorToStringConverter
SimpleCursorAdapter.ViewBinder
SimpleCursorTreeAdapter.ViewBinder
SlidingDrawer.OnDrawerCloseListener
SlidingDrawer.OnDrawerOpenListener
SlidingDrawer.OnDrawerScrollListener
SpinnerAdapter
TabHost.OnTabChangeListener
TabHost.TabContentFactory
TextView.OnEditorActionListenerTimePicker.OnTimeChangedListener
ViewSwitcher.ViewFactory
WrapperListAdapter

ZoomButtonsController.OnZoomListener



AbsListView
AbsListView.LayoutParams
AbsoluteLayout
AbsoluteLayout.LayoutParams
AbsSeekBar
AbsSpinner
AdapterView<T extends Adapter>
AdapterView.AdapterContextMenuInfo
AlphabetIndexer
AnalogClock
ArrayAdapter<T>
AutoCompleteTextView
BaseAdapter
BaseExpandableListAdapter
Button
CheckBox
CheckedTextView
Chronometer
CompoundButton
CursorAdapter
CursorTreeAdapter
DatePicker
DialerFilter
DigitalClock
EditText(部分)
ExpandableListView
ExpandableListView.ExpandableListContextMenuInfo
Filter
Filter.FilterResults
FrameLayout
FrameLayout.LayoutParams
Gallery
Gallery.LayoutParams
GridView
HeaderViewListAdapter
HorizontalScrollView
ImageButton
ImageSwitcherImageView
LinearLayout
LinearLayout.LayoutParams
ListView
ListView.FixedViewInfo
MediaController
MultiAutoCompleteTextView
MultiAutoCompleteTextView.CommaTokenizer
OverScroller
PopupWindow
ProgressBar
QuickContactBadge
RadioButton
RadioGroup
RadioGroup.LayoutParams
RatingBar
RelativeLayout
RelativeLayout.LayoutParams
RemoteViews
ResourceCursorAdapter
ResourceCursorTreeAdapter
Scroller
ScrollView
SeekBar
SimpleAdapter
SimpleCursorAdapter
SimpleCursorTreeAdapter
SimpleExpandableListAdapter
SlidingDrawer
Spinner
TabHost
TabHost.TabSpec
TableLayout
TableLayout.LayoutParams
TableRow
TableRow.LayoutParams
TabWidget
TextSwitcher
TextView(部分)
TextView.SavedState
TimePicker
Toast
ToggleButton
TwoLineListItemVideoView
ViewAnimator
ViewFlipper
ViewSwitcher
ZoomButton
ZoomButtonsController

ZoomControls



枚举

ImageView.ScaleType

TextView.BufferType



异常

RemoteViews.ActionException
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# -*- coding: UTF-8 -*- from lib2to3.pgen2 import driver from appium import webdriver from appium.webdriver.common.appiumby import AppiumBy el1 = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="通讯录") el1.click() el2 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[1]/android.widget.FrameLayout/android.widget.ListView/android.widget.FrameLayout[3]/android.widget.RelativeLayout") el2.click() el3 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.view.ViewGroup/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[1]/android.widget.TextView") el3.click() el4 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.view.ViewGroup/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[8]") el4.click() el5 = driver.find_element(by=AppiumBy.XPATH, value="/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.view.ViewGroup/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[11]") el5.click()
06-08

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值