zoukankan      html  css  js  c++  java
  • 长按事件OnLongClickListener

    1.MainActivity.java

    package com.example.administrator.hello4;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
        //声明
        private TextView textView;
        private ImageView imageView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            //初始化:通过组件id获取组件实例
            textView = (TextView) findViewById(R.id.tv);
            imageView = (ImageView) findViewById(R.id.iv);
    
            imageView.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    imageView.setBackgroundResource(R.drawable.a);
                    textView.setText("图片已经设置为手机桌面");
                    return false;
                }
            });
    
        }
    }

    2.activity_mian.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.example.administrator.hello4.MainActivity">
    
        <TextView
            android:id="@+id/tv"
            android:textSize="20dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="长按图片将其设置为背景" />
        <ImageView
            android:id="@+id/iv"
            android:src="@drawable/a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

    3

    在长按事件中的onLongClick中返回false:表示事件没有完全处理完毕。这样就可以继续执行setOnclicklistener事件 弹出“显示信息。。。”

    在长按事件中的onLongClick中返回ture:表示事件完全处理完毕。不执行setOnclicklistener事件 所以不弹出“显示信息。。。”

    3.按照前面的例子只能在软件上面显示已经更改设置为壁纸,但是在手机壁纸还没有更改,因为没有管理者权限

    (1)MianActivity.java此时增加了设置壁纸的方法setWallPaper.

     1 package com.example.administrator.hello4;
     2 
     3 import android.app.WallpaperManager;
     4 import android.support.v7.app.AppCompatActivity;
     5 import android.os.Bundle;
     6 import android.view.View;
     7 import android.widget.ImageView;
     8 import android.widget.TextView;
     9 
    10 import java.io.IOException;
    11 
    12 public class MainActivity extends AppCompatActivity {
    13     //声明
    14     private TextView textView;
    15     private ImageView imageView;
    16 
    17     @Override
    18     protected void onCreate(Bundle savedInstanceState) {
    19         super.onCreate(savedInstanceState);
    20         setContentView(R.layout.activity_main);
    21 
    22         //初始化:通过组件id获取组件实例
    23         textView = (TextView) findViewById(R.id.tv);
    24         imageView = (ImageView) findViewById(R.id.iv);
    25 
    26         imageView.setOnLongClickListener(new View.OnLongClickListener() {
    27             @Override
    28             public boolean onLongClick(View v) {
    29                 imageView.setBackgroundResource(R.drawable.a);
    30                 textView.setText("图片已经设置为手机桌面");
    31                 return false;
    32             }
    33         });
    34 
    35         setWallPaper();
    36 
    37     }
    38     public  void setWallPaper(){
    39         WallpaperManager wallpaperManager = WallpaperManager.getInstance(MainActivity.this);
    40         try {
    41             wallpaperManager.setResource(R.drawable.a);
    42         } catch (IOException e) {
    43             e.printStackTrace();
    44         }
    45     }
    46 
    47 }

    (2)在AndroidManiifest.xml配置管理者权限

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.administrator.hello4">
    
        <uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>  //配置的管理者权限
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>

    这样就可以运行软件之后真正的将图片设置为手机壁纸

  • 相关阅读:
    20189317 《网络攻防技术》 第四周作业
    20189317 《网络攻防技术》 第三周作业
    20189317 《网络攻防技术》 第二周作业
    2018-2019-2 20189317 《网络攻防技术》 第一周作业
    20189311《网络攻防》第十周作业
    20189311《网络攻防》第九周作业
    20189311《网络攻防》第八周作业
    20189311《网络攻防》第七周作业
    20189311《网络攻防》第六周作业
    20189311《网络攻防》第五周作业
  • 原文地址:https://www.cnblogs.com/sunxiaoyan/p/9001175.html
Copyright © 2011-2022 走看看