推出后安卓的開發(fā)者模式具體操作步驟如下(演示以魅族手機為例,其他機型操作方法大致相同):

網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了馬鞍山免費建站歡迎大家使用!
1.首先打開手機的【設置】頁面,在頁面中找到選項【輔助功能】,點擊該選項。
2.進入手機的【輔助功能】頁面后,點擊選項【開發(fā)者選項】,進入對應頁面。
3.將【開發(fā)者選項】右側開關點擊關閉,將開發(fā)者模式關閉,返回設置首頁。
4.此時設置頁面中還是存在著【開發(fā)者選項】這個選項的,需要進一步關閉。找到選項【應用管理】。
5.在【應用管理】的應用列表中找到【設置】這個應用。
6.進入【設置】的應用詳情頁面,點擊【清除數(shù)據(jù)】。清除完成后,【開發(fā)者選項】這個選項即不會出現(xiàn)在設置頁面中。
android平板電腦中是沒有雙擊選項的,原因如下:
android平板電腦和電腦系統(tǒng)不同而且操作也是不同的,電腦打開軟件是需要雙擊軟件或者右鍵后單擊選擇打開。
android平板電腦打開軟件只需要點擊一下就可以打開了,點擊軟件2次和點擊1次效果是一樣的,都是會打開軟件的。
具體的需求就是雙擊視頻任意位置可以冒出向上飛的小心心.之前寫的太模糊,回來詳細編輯一次,末尾附上源碼好了.
自定義一個RelativeLayout,點擊其內(nèi)部任意一位置,將其坐標傳入自定義布局,然后add一個????的view,并給這個????加上動畫.
public class Love extends RelativeLayout {
private Context context;
private LayoutParams params;
private Drawable[]icons =new Drawable[4];
private Interpolator[]interpolators =new Interpolator[4];
private int mWidth;
private int mHeight;
public Love(Context context, AttributeSet attrs) {
super(context, attrs);
? ? this.context =context;
? ? initView();
}
private void initView() {
// 圖片資源
? ? icons[0] = getResources().getDrawable(R.drawable.heart_red);
? ? icons[1] = getResources().getDrawable(R.drawable.heart_red);
? ? icons[2] = getResources().getDrawable(R.drawable.heart_red);
? ? icons[3] = getResources().getDrawable(R.drawable.heart_red);
? ? // 插值器
? ? interpolators[0] =new AccelerateDecelerateInterpolator(); // 在動畫開始與結束的地方速率改變比較慢,在中間的時候加速
? ? interpolators[1] =new AccelerateInterpolator();? // 在動畫開始的地方速率改變比較慢,然后開始加速
? ? interpolators[2] =new DecelerateInterpolator(); // 在動畫開始的地方快然后慢
? ? interpolators[3] =new LinearInterpolator();? // 以常量速率改變
}
public void addLoveView(float x, float y) {
if (x 100) {
x =101;
? ? }
if (y 100) {
y =101;
? ? }
mWidth = (int) (x -100);
? ? mHeight = (int) (y -100);
? ? final ImageView iv =new ImageView(context);
? ? params =new LayoutParams(200, 200);
? ? iv.setLayoutParams(params);
? ? iv.setImageDrawable(icons[new Random().nextInt(4)]);
? ? addView(iv);
? ? // 開啟動畫,并且用完銷毀
? ? AnimatorSet set = getAnimatorSet(iv);
? ? set.start();
? ? set.addListener(new AnimatorListenerAdapter() {
@Override
? ? ? ? public void onAnimationEnd(Animator animation) {
// TODO Auto-generated method stub
? ? ? ? ? ? super.onAnimationEnd(animation);
? ? ? ? ? ? removeView(iv);
? ? ? ? }
});
}
/**
* 獲取動畫集合
*
* @param iv
*/
private AnimatorSet getAnimatorSet(ImageView iv) {
// 1.alpha動畫
? ? ObjectAnimator alpha =ObjectAnimator.ofFloat(iv, "alpha", 0.3f, 1f);
? ? // 2.縮放動畫
? ? ObjectAnimator scaleX =ObjectAnimator.ofFloat(iv, "scaleX", 0.2f, 1f);
? ? ObjectAnimator scaleY =ObjectAnimator.ofFloat(iv, "scaleY", 0.2f, 1f);
? ? // 動畫集合
? ? AnimatorSet set =new AnimatorSet();
? ? set.playTogether(alpha, scaleX, scaleY);
? ? set.setDuration(2000);
? ? // 貝塞爾曲線動畫
? ? ValueAnimator bzier = getBzierAnimator(iv);
? ? AnimatorSet set2 =new AnimatorSet();
? ? set2.playTogether(set, bzier);
? ? set2.setTarget(iv);
? ? return set2;
}
/**
* 貝塞爾動畫
*/
private ValueAnimator getBzierAnimator(final ImageView iv) {
// TODO Auto-generated method stub
? ? PointF[]PointFs = getPointFs(iv); // 4個點的坐標
? ? BasEvaluator evaluator =new BasEvaluator(PointFs[1], PointFs[2]);
? ? ValueAnimator valueAnim =ValueAnimator.ofObject(evaluator, PointFs[0], PointFs[3]);
? ? valueAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
? ? ? ? public void onAnimationUpdate(ValueAnimator animation) {
// TODO Auto-generated method stub
? ? ? ? ? ? PointF p = (PointF)animation.getAnimatedValue();
? ? ? ? ? ? iv.setX(p.x);
? ? ? ? ? ? iv.setY(p.y);
? ? ? ? ? ? iv.setAlpha(1 -animation.getAnimatedFraction()); // 透明度
? ? ? ? }
});
? ? valueAnim.setTarget(iv);
? ? valueAnim.setDuration(2000);
? ? valueAnim.setInterpolator(interpolators[new Random().nextInt(4)]);
? ? return valueAnim;
}
private PointF[]getPointFs(ImageView iv) {
// TODO Auto-generated method stub
? ? PointF[]PointFs =new PointF[4];
? ? PointFs[0] =new PointF(); // p0
? ? PointFs[0].x = ((int)mWidth);
? ? PointFs[0].y =mHeight;
? ? PointFs[1] =new PointF(); // p1
? ? PointFs[1].x =new Random().nextInt(mWidth);
? ? PointFs[1].y =new Random().nextInt(mHeight /2) +mHeight /2 +params.height;
? ? PointFs[2] =new PointF(); // p2
? ? PointFs[2].x =new Random().nextInt(mWidth);
? ? PointFs[2].y =new Random().nextInt(mHeight /2);
? ? PointFs[3] =new PointF(); // p3
? ? PointFs[3].x =new Random().nextInt(mWidth);
? ? PointFs[3].y =0;
? ? return PointFs;
}
}
?xml version="1.0" encoding="utf-8"?
com.example.technology.lovedemo.Love xmlns:android=""
android:id="@+id/lovelayout"
android:layout_width="match_parent"
android:background="#d2aab7"
android:layout_height="match_parent"
? ? android:id="@+id/iamge"
? ? android:layout_width="300dp"
? ? android:layout_height="300dp"
? ? android:layout_centerInParent="true"
? ? android:background="@drawable/ceshi" /
public class MainActivity extends AppCompatActivity {
private GestureDetector myGestureDetector;
private Love ll_love;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
? ? setContentView(R.layout.activity_main);
? ? ll_love = (Love) findViewById(R.id.lovelayout);
? ? ImageView iamge = findViewById(R.id.iamge);
? ? //實例化GestureDetector
? ? myGestureDetector =new GestureDetector(this, new myOnGestureListener());
? ? //增加監(jiān)聽事件
? ? iamge.setOnTouchListener(new View.OnTouchListener() {
@Override//可以捕獲觸摸屏幕發(fā)生的Event事件
? ? ? ? public boolean onTouch(View v, MotionEvent event) {
//使用GestureDetector轉(zhuǎn)發(fā)MotionEvent對象給OnGestureListener
? ? ? ? ? ? myGestureDetector.onTouchEvent(event);
? ? ? ? ? ? return true;
? ? ? ? }
});
}
class myOnGestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
? ? public boolean onDoubleTap(MotionEvent e) {
ll_love.addLoveView(e.getRawX(),e.getRawY());
? ? ? ? return super.onDoubleTap(e);
? ? }
}
}
分享標題:Android雙擊,Android雙擊喚醒框架
當前地址:http://chinadenli.net/article46/dsgdieg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、App設計、微信小程序、網(wǎng)站內(nèi)鏈、軟件開發(fā)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)