触摸事件学习系列文章详见:《Android Touch事件学习系列汇总》一、 什么是触摸事件?还是在《Android Touch事件学习系列汇总》 提出了两个疑问,并且疑问2" Android系统知道你要做什么吗?例如是点击、滚动、长按还是其他的?"已经在之前的文章中解释了。
在此基础上现在来具体看下疑问1 "Andorid系统获取到触摸事件后,如何知道用户触碰的是哪个视图?"
在具体分析前猜猜Andorid系统会如何判断当前触碰的是哪个视图:
1. Android...
介绍
ButterKnife通过@InjectView和视图的ID注解的变量去找到并自动转换为你布局上相应的布局视图。
class ExampleActivity extends Activity {
@InjectView(R.id.title) TextView title;
@InjectView(R.id.subtitle) TextView subtitle;
@InjectView(R.id.footer) TextView footer;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.s...
目录(?)[-]Debug视图DDMS视图查看应用运行状态进入debug状态HPROFThread信息Method信息Stop截图UI层次架构信息其它的Tab中提供的功能 我们将基于Eclipse了解如何对应用进行调试,即debug。Android插件提供的DDMS可以给予很多帮助,包括视图(那个设备被连接),模拟器控制(发送电话呼叫,SMS短信,GPS信息),文件浏览器(查看/传输设备上的文件),thread,heap和allocation跟踪器。在一个真实设备调测应用,除了将设备设置为USB...
这是Android UI Fundamentals里的内容创建自定义视图创建自定义UI组件首先要继承一个视图类.
首先创建一个简单的自定义视图, 展示一条十字线.
需要做的第一件事是创建一个继承自View的CrossView类.publicCrossView(Context context, AttributeSet attrs) {super(context, attrs);}该构造函数的第二个参数是用来传递XML参数的, 等会儿会讲到. 接下来我们要重写两个基础方法: onMeasure 和 onDraw.onMeasure系统调用onMeasure方法来...
一.GridView(网格视图): 我们可以将GridView和一个ImageView配合使用来显示一系列的图像。 GridView属性介绍: android:columnWidth 设置列的宽度。 android:verticalSpacing 设置两行之间的间距。 android:horizontalSpacing 设置两列之间的间距。 android:stretchMode 设置缩放模式。 android:numColumns 设置显示的列数。 android:gravity 设置此组件中的内容在组件...
activity_ui1.xmldth="wrap_content"android:layout_height="wrap_content"android:textOn=" "android:textOff=" "android:background="@drawable/qq"android:id="@+id/tob1"/><AnalogClockandroid:layout_width="wrap_content"android:layout_height="wrap_content"/><DigitalClockandroid:layout_width="wrap_content"android:layout_height="wrap_content"/><DatePickerandroid:layout_width="wrap_content"android:layout_heig...
在Activity的启动过程中会执行ActivityThread#performLaunchActivity方法,其中调用Activity#attach。在attach()方法中实例化Activity持有的mWindow属性为Window的唯一实现类PhoneWindow。 ActivityThread#performLaunchActivityprivate Activity performLaunchActivity(ActivityClientRecord r, Intent customIntent) {...activity.attach(...);...}Activity#attachfinal void attach(...) {...mWindow = new PhoneWindow(this...
一种是编写两个Adapter,切换Adapter的方式来实现切换列表视图。另一种方式是同一个Adapter切换布局layout的方式来切换视图直接复制现在视图,控件ID未作变更,这样可以更改最少的代码达到目的定义一个变量来控制使用哪种布局视图private int layoutViewType = LIST_VIEW;
继承 getItemViewType 来达到实现切换视图的功能@Override
public int getItemViewType(int position) { return layoutViewType;
}
设置两个方法以便在外部...
问题如下描述: 关于 Android 中ScrollView中带有ListView 或者是Gridview的子视图的问题,在第一次加载的时候,会使得ScrollView 不在顶端。会往下移动,这个是因为其子视图抢占了焦点。 解决这样的问题,只要重写两个方法 : pasting 这样的话,第一次加载的时候就将ScrollView牢牢的锁在了第一。当用户交互的时候,就可以恢复正常。 原文:http://www.cnblogs.com/wsfjlagr/p/4422627.html
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/16330267在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的。如果你还没有看过我的上一篇文章,可以先去阅读 Android LayoutInflater原理分析,带你一步步深入了解View(一) 。相信每个Android程序员都知道,我们每天...
如果已经启动了四个Activity:A,B,C和D。在D Activity里,我们要跳到B Activity,同时希望C finish掉,可以在startActivity(intent)里的intent里添加flags标记,如下所示:Intent intent = new Intent(this, B.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);这样启动B Activity,就会把D,C都finished掉,如果你的B Activity的启动模式是默认的(multiple) ,则B Activity会finished掉...
Android自定义视图教程Android的UI元素都是基于View(屏幕中单个元素)和ViewGroup(元素的集合),Android有许多自带的组件和布局,比如Button、TextView、RelativeLayout。在app开发过程中我们需要自定义视图组件来满足我们的需求。通过继承自View或者View的子类,覆写onDraw或者onTouchEvent等方法来覆盖视图的行为。创建完全自定义的组件创建自定义的组件主要围绕着以下五个方面:绘图(Drawing): 控制视图的渲染,通常通过覆写onDr...
一.ListView视图: ListView 用来显示一个列表控件。 public class MainActivity extends ListActivity {String[] str = {"中国","法国","英国","瑞士","奥地利","美国","印度","梵蒂冈"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, str));}@Overrideprotected void onListIte...
在cocos2d-x的基础章节里,有这么一类宏,他们被称为选择器:schedule(schedule_selector(),time);他能够帮助我们实现动画的协调播放:(给定精灵足够的时间来做抉择)schedule(schedule_selector(CmsLayer2::listenCatJAndHua),1.0f);void CmsLayer2::listenCatJAndHua(float dt)
{if((-this->_huaSprite->getPosition().x+this->_catJ->getPosition().x)>-200){ this->_huaSprite->setScaleX(1.0f);this->_huaSprite->sto...
Android网路功能很强大,WebView组件支持直接加载网页,可以将其视为一个浏览器,要实现该功能,具体步骤如下1、在布局文件中声明WebView2、在Activity中实例化WebView3、调用WebView的loadUrl()方法,加载指定的URL地址网页4、为了让WebView能够响应超链接功能,调用setWebViewClient()方法,设置WebView客户端5、为了让WebView支持回退功能,覆盖onKeyDown()方法6、一定要注意:在AndroidManifest.xml文件中添加访问互联网的权限...