‘壹’ android为什么有应用抽屉
第一,绝大多数国际厂商都不会取消抽屉,因为这是android的特色,而且他存在有他的道理。
第二,抽屉是你的所有程序,而桌面是展示常用程序和widget的,而不是把所有的东西都丢在这里的。类似你家客厅和仓库的感觉,电视放客厅,电视的箱子说明书之类放仓库。
第三,说说为什么国内取消抽屉的rom(其实主要就小米和魅族),因为国内绝大多数用户都是小白,而小白用户最喜欢的是:无论是什么,哪怕是一坨屎,也要把他堆在我面前,别让我去别的地方找。(最好的例证是国内外最受欢迎的导航网站排班,国内的乱糟糟一坨文字,到处是文字)。
‘贰’ 怎么用Android实现点击按钮在左边实现抽屉的功能
额,左边出现抽屉,你可以参考下开源项目SlidingMenu,android的开源项目,可以实现点击或者滑动拉出菜单,左右都可以。
‘叁’ 急需一个android中下拉抽屉的例子
下拉抽屉,你是说Android顶部下拉就出来东西的那个吗?
如果是,那么可以用GestureDetector中的onFlying完成。
‘肆’ android类似下抽屉的效果怎么实现
你说的效果实现可以分为两个部分:
一、拖拽部分,这部分你实现让scrollview跟着你的手移动
1、给scrollview添加onTouchListener或者自定义scrollview并重载其onTouchEvent方法。
2、根据move不停设置scrollview的坐标
你需要注意的是:event.getX()是你手指的坐标,而不是控件的坐标,很多人能够理解,但有的人写的时候会搞混。
你需要做的是:取得4个坐标——
(1)、你手指点下去的坐标,这个坐标在ACTION_DOWN中获得:primaryTouchCoord,这个坐标要一直保存,所以要在Touch事件外定义(类成员变量);
(2)、你手指当前的坐标curTouchCoord,在每次Touch事件触发的时候用event.getY()获得,即在switch外或者ACTION_MOVE中获得;
(3)、scrollview初始坐标primaryScrollViewCoord,这个坐标也在ACTION_DOWN中获得并且一直保存。
(4)、scrollview最终坐标curScrollViewCoord,在ACTION_UP中获得。
有了这四个坐标,就可以实现了。
在ACTION_MOVE中判断最大和最小Y坐标,比如
if(scrollview.getY<0){//让scrollview的坐标不超过你的最大和最小坐标
scrollview.setY(0);
}
if(scrollview.getY>(int)(mScreenHeight()*0.9)){
...
}
if(scrollview.getY()>0&&scrollview.getY<(int)(mScreenHeight()*0.9)+可以滑动条件),则执行scrollView.setY(primaryScrollViewCoord+(curTouchCoord-primaryTouchCoord));
上面完成后,scrollview就会跟着你的手指移动并且不会超过指定坐标
由于是scrollview,你不得不判断什么时候scrollview有效,否则在scrollview移动的时候,scrollview的内部也会移动。
上面的回答根据你实际情况修改。
二、动画部分,你的手离开屏幕后scrollview向上/下动画
在完成第一步后,你就已经完成了大半。
以下在ACTION_UP中完成
这时,在上面提到的primaryScrollViewCoord就会使用了,根据scrollview移动的距离判断是向上/下,然后使用animation(Set)完成接下来的动作。
你这里将使用Animation animation = new TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta);
注意4个坐标的意义,第一个为起始X坐标离当前坐标的距离,这里为0,第二个坐标为目的坐标到当前的距离,正负代表不同的方向;后面两个为Y坐标;
你这里要设置animation.setFillAfter(true),使UI保存在动画后;如果要保存到动画前,则使用setFillBefore(true);
animation.setDuration(int)设置动画事件
然后scrollview.startAnimation()开始动画
动画具体使用,网上可以找到,就不多说了。
需要注意的:
1、动画结束后一定要clear,可以给动画添加监听,在onAnimationEnd()里执行scrollview.clearAnimation(),如果可以的话,同时将scrollview设置成最大或最小坐标
2、不要使用touch坐标直接设置scrollview坐标,那样可能会导致移位。
‘伍’ android 下拉列表
Android的下拉列表是用Spinner 这个类来实现的。
Spinner的使用(分别使用ArrayAdapter和自定义Adapter实现),使用ArrayAdapter进行适配数据:
1:首先定义一个布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
2:建立数据源,使用数组,这些数据将会在Spinner下来列表中进行显示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="spinnername">
<item>北京</item>
<item>上海 </item>
<item>广州</item>
<item>深圳</item>
</string-array>
</resources>
3:接着在Activity中加入如下的代码(使用了系统定义的下拉列表的布局文件,当然也可以自定义)
// 初始化控件
mSpinner = (Spinner) findViewById(R.id.spinner1);
// 建立数据源
String[] mItems = getResources().getStringArray(R.array.spinnername);
// 建立Adapter并且绑定数据源
ArrayAdapter<String> _Adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mItems);
//绑定 Adapter到控件
mSpinner.setAdapter(_Adapter);
‘陆’ 安卓(应用)抽屉是什么意思
抽屉就是你按菜单键后进入能看到所有应用程序图标的那个地方
‘柒’ 如何打造Android自定义的下拉列表框控件
实现方式: 1、水平布局一个TextView和一个ImageView(小黑箭头) 2、实现点击ImageView的单击事件,弹出PopupWindow 3、PopupWindow中实现下拉列表 关键代码示例: 1、布局 <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <TextView/> <ImageView /> </LinearLayout> 2、单击事件 image.setBackgroundResource(R.drawable.gerendang_jiantou); image.setOnClickListener(new OnClickListener() { public void onClick(View v) { //弹出popupwindow } }); 3、pupupwindow相关代码 ListView lv = new ListView(this); adapter = new OptionsAdapter(context, datas); // 根据数据,设置下拉框显示 list.setAdapter(adapter); /** * 两种不同长度的下拉框,主要是为了适应屏幕的大小 */ if (p_width > 0) { pWindow = new PopupWindow(v, par.getWidth(), 150); } else { pWindow = new PopupWindow(v, par.getWidth(), 300); } pWindow.setFocusable(true); //能够焦点获得 pWindow.setBackgroundDrawable(new BitmapDrawable()); //设置背景 pWindow.setOutsideTouchable(true); //外部点击关闭 pWindow.update(); //更新位置
‘捌’ android怎么实现类似抽屉效果
你说的效果实现可以分为两个部分:
一、拖拽部分,这部分你实现让scrollview跟着你的手移动
1、给scrollview添加onTouchListener或者自定义scrollview并重载其onTouchEvent方法。
2、根据move不停设置scrollview的坐标
你需要注意的是:event.getX()是你手指的坐标,而不是控件的坐标,很多人能够理解,但有的人写的时候会搞混。
你需要做的是:取得4个坐标——
(1)、你手指点下去的坐标,这个坐标在ACTION_DOWN中获得:primaryTouchCoord,这个坐标要一直保存,所以要在Touch事件外定义(类成员变量);
(2)、你手指当前的坐标curTouchCoord,在每次Touch事件触发的时候用event.getY()获得,即在switch外或者ACTION_MOVE中获得;
(3)、scrollview初始坐标primaryScrollViewCoord,这个坐标也在ACTION_DOWN中获得并且一直保存。
(4)、scrollview最终坐标curScrollViewCoord,在ACTION_UP中获得。
有了这四个坐标,就可以实现了。
在ACTION_MOVE中判断最大和最小Y坐标,比如
if(scrollview.getY<0){//让scrollview的坐标不超过你的最大和最小坐标
scrollview.setY(0);
}
if(scrollview.getY>(int)(mScreenHeight()*0.9)){
...
}
if(scrollview.getY()>0&&scrollview.getY<(int)(mScreenHeight()*0.9)+可以滑动条件),则执行scrollView.setY(primaryScrollViewCoord+(curTouchCoord-primaryTouchCoord));
上面完成后,scrollview就会跟着你的手指移动并且不会超过指定坐标
由于是scrollview,你不得不判断什么时候scrollview有效,否则在scrollview移动的时候,scrollview的内部也会移动。
上面的回答根据你实际情况修改。
二、动画部分,你的手离开屏幕后scrollview向上/下动画
在完成第一步后,你就已经完成了大半。
以下在ACTION_UP中完成
这时,在上面提到的primaryScrollViewCoord就会使用了,根据scrollview移动的距离判断是向上/下,然后使用animation(Set)完成接下来的动作。
你这里将使用Animation animation = new TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta);
注意4个坐标的意义,第一个为起始X坐标离当前坐标的距离,这里为0,第二个坐标为目的坐标到当前的距离,正负代表不同的方向;后面两个为Y坐标;
你这里要设置animation.setFillAfter(true),使UI保存在动画后;如果要保存到动画前,则使用setFillBefore(true);
animation.setDuration(int)设置动画事件
然后scrollview.startAnimation()开始动画
动画具体使用,网上可以找到,就不多说了。
需要注意的:
1、动画结束后一定要clear,可以给动画添加监听,在onAnimationEnd()里执行scrollview.clearAnimation(),如果可以的话,同时将scrollview设置成最大或最小坐标
2、不要使用touch坐标直接设置scrollview坐标,那样可能会导致移位。
‘玖’ android像这样的下拉窗口怎么实现
第一,在布局文件中添加一个Button,单击Button,弹出菜单
第二,我们给Button添加一个单击事件popupMenu,接下来,就在java文件中实现该方法。
第三,我们加载了一个menu文件“popupmenu”
第四,别忘了在onCreate方法中初始化Button。
第五,你就可以看一下效果。
‘拾’ android打开activity会有抽屉上拉效果,怎么取消或者隐藏
两个activity切换之间的动画是可以自定义的,只需要在activity中加上overridePendingTransition(enterAnim, exitAnim)就OK了,enterAnim是当前activity加入的动画,exitAnim是出的。页面的飞入效果是不能去掉的,这是系统默认的,如果你想实现没有动画的效果,只能用另外的在一个全局布局中用addView和removeView来实现了。