getmethodid( android/widget/toast ),Android功能实现-Go语言中文社区

¥开启¥

【使用jni实现Tost】

〖2017-08-20 22:15:04〗

《在xx.cpp中写入以下代码€void Java_com_jni_test_MainActivity_showToast(JNIEnv *env, jobject thiz,jobject context, jstring str){€ jclass tclss = env->FindClass("android/widget/Toast");€ jmethodID mid = env->GetStaticMethodID(tclss,"makeText","(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;");€ jobject job = env->CallStaticObjectMethod(tclss,mid,context,str);€ jmethodID showId = env->GetMethodID(tclss,"show","()V");€ env->CallVoidMethod(job,showId,context,str);€}€€在MainActivity声明€public static native void showToast(Context context,String msg)€€//然后调用€showToast(this,"你好")》

『小菜』

〔Android功能实现〕

【Dialog和Popupmenu】

〖2017-08-20 11:59:31〗

《一、对话框Dialog:€€//得到构建对象€AlertDialog.Builder builder = new AlertDialog.Builder(this);€builder.setTitle("标题");€builder.setMessage("提示内容");€€//添加按钮,参数二为点击事件可以为null€builder.setPositiveButton("确定", new OnClickListener());€builder.setNegativeButton("取消", new OnClickListener());€builder.setNeutralButton("确定", new OnClickListener());€€//加入一个列表,参数二为点击事件监听€String[] listArray = new String[]{"第一个","第二个","第三个"};€builder.setItems(listArray,new OnItemClickListener());€€//与上一个类似,每项后面多一个单选按钮,0代表默认选中项的行号€builder.setSingleChoiceItems(listArray,0,new OnCheckedChangeListener());€€//添加一个布局到对话框中€ViewGroup viewGroup = (ViewGroup) this.getLayoutInflater().inflate(R.layout.activity_main,null);€builder.setView(viewGroup);€€//创建并显示对话框€AlertDialog alertDialog = builder.create();€alertDialog.show();€€€二、PopupWindow:€€// 构建泡泡窗口:€ViewGroup pop = (ViewGroup)getLayoutInflater().inflate(R.layout.popupwindows_pro,null);€PopupWindow popupWindow = new PopupWindow(pop, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);€€//获取焦点€popupWindow.setFocusable(true);€€//设置空白背景,这样点空白部分就会关闭€popupWindow.setBackgroundDrawable(new BitmapDrawable());€//设置进出动画:€popupWindow.setAnimationStyle(R.style.anim);€//在styles.xml中定义动画样式€€€//根据父元素位置显示,x,y是偏移距离€View pView = (View) button.getParent();€popupWindow.showAtLocation(pView, Gravity.CENTER, x, y);€//在view组件下方显示,不够会显示在上方€popupWindow.showAsDropDown(view, x, y);€//关闭泡泡窗口:€popupWindow.dismiss();€//设置键盘事件可控制按back键关闭€pop.setOnKeyListener();€》

『小菜』

〔Android功能实现〕

【Sharedprefence用法】

〖2017-08-20 12:04:05〗

《shared_prefs是软件常用的保存用户一些设置的€数据文件,它位于data/data/包名/shared_prefs目录下。€String fileName = "login";€ //要操作的文件名€SharedPreferences preferences = getSharedPreferences(fileName,MODE_PRIVATE);€€//根据键取得一个值,未找到则值为第二个参数€String str = preferences.getString("key","no");€//如果取int值就用getInt,布尔值就用getBoolean€€//拿到编辑对象€SharedPreferences.Editor editor = preferences.edit();€€//存入一个键值对,第一个键,第二个值,放int就putInt€editor.putString("key","value");€€//根据键移除一对键值对€editor.remove("key");€€//提交以上操作€editor.commit();》

『小菜』

〔Android功能实现〕

【调用QQ加入QQ群】

〖2017-08-18 19:16:14〗

《先在Activity里创建方法€€public boolean JoinQQGroup(String key)€{€Intent intent = new Intent();€intent.setData(Uri.parse("mqqopensdkapi;€//bizAgent/qm/qr?url=http%3A%2F%2Fqm.qq.com%2Fcgi-bin%2Fqm%2Fqr%3Ffrom%3Dapp%26p%3Dandroid%26k%3D" + key));€try€{€startActivity(intent);€return true;€}€catch (Exception e)€{€Toast.makeText(this, "未安装手Q或安装的版本不支持!", 0).show();€return false;€}€}€然后到qun.qq.com获得你群的key,然后在onCreat里调用€JoinQQGroup("这里填你群的key")€例如我的就是€JoinQQGroup("Q4vTVHDFWLF0HKpz_iIsGBznr6IIDR2N");€》

『小菜』

〔Android功能实现〕

【读取安装包下assets文件】

〖2017-08-18 18:17:45〗

《//拿到输入流,参数为assets中文件名

InputStream in = getAssets().open("aa.txt");

€//然后就可以像平常的IO一样操作了,例如复制到SD卡中:

€try {

€InputStream in = getAssets().open("a.txt");€File file = new File("storage/sdcard0/a.txt");€FileOutputStream out = new FileOutputStream(file);

€int len = -1 ;

€byte[] bytes = new byte[1024];

€while( (len=in.read(bytes) ) != -1){

€ out.write(bytes,0,len);

€}

€out.close();

€in.close();

€} catch (IOException e) {

€ e.printStackTrace();

€}

€》

『小菜』

〔Android功能实现〕

【Sharedprefence写法】

〖2017-08-18 18:20:36〗

《shared_prefs是软件常用的保存用户一些设置的

€数据文件,它位于data/data/包名/shared_prefs目录下。€String fileName = "login";

//要操作的文件名€SharedPreferences preferences = getSharedPreferences(fileName,MODE_PRIVATE);

€€//根据键取得一个值,未找到则值为第二个参数

€String str = preferences.getString("key","no");

€//如果取int值就用getInt,布尔值就用getBoolean

€€//拿到编辑对象

€SharedPreferences.Editor editor = preferences.edit();

€€//存入一个键值对,第一个键,第二个值,放int就putInt

€editor.putString("key","value");

€€//根据键移除一对键值对

€editor.remove("key");

€€//提交以上操作

€editor.commit();€》

『小菜』

〔Android功能实现〕

【直接跳转到QQ里分享文字】

〖2017-08-18 18:22:36〗

《Intent intent=new Intent(Intent.ACTION_SEND); €intent.setType("text/plain");€intent.setClassName("com.tencent.mobileqq","com.tencent.mobileqq.activity.JumpActivity"); €intent.putExtra(Intent.EXTRA_TEXT,"这是要分享的文本");€intent.putExtra(Intent.EXTRA_TITLE,"分享");€intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);€try{€startActivity(Intent.createChooser(intent,"分享")); €}catch(Exception e){€Toast.makeText(context,"未安装手Q或当前版本不支持",1000).show();€}€}》

『小菜』

〔Android功能实现〕

【TextView显示图片】

〖2017-08-16 17:06:52〗

《/**

€*HashMap存放图片的文字代码和图片的路径

€*/

€HashMap keyImage = new HashMap();

€keyImage.put("[image01]", R.drawable.img1);€keyImage.put("[image02]", R.drawable.img2);€TextView textView = (TextView)€findViewById(R.id.content_editText1);

€//为TextView添加文本改变监听

€textView.addTextChangedListener(new MarkImageWatcher(keyImage,MainActivity.this));

€textView.setText("[image01]");

€/**

€*自定义TextWatcher类

€*/

€public class MarkImageWatcher implements TextWatcher {

€HashMap key = new HashMap();

€Context context;

€//构造方法,€€public€MarkImageWatcher(HashMap key, Context context) {

€super();

€this.key = key;

€this.context = context;

€}

€@Override

€public void afterTextChanged(Editable arg0) {

€String text = arg0.toString();€Iterator iterator = key.keySet().iterator();

€while (iterator.hasNext()) {

€String k = iterator.next();

€if (text.contains(k)) {

€int index = 0;€while ((index = text.indexOf(k, index)) != -1) {

€Drawable drawable = context.getResources().getDrawable(key.get(k));€drawable.setBounds(0, 0, 300,500);

€//将代表图片的文本标记为图片

€arg0.setSpan(new ImageSpan(drawable,ImageSpan.ALIGN_BASELINE), index,index + k.length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);€index += k.length();

€}€}

€}

€}

€}》

『小菜』

〔Android功能实现〕

【Activity跳转+动画】

〖2017-08-16 17:14:25〗

《1.普通跳转:

€Intent intent = new Intent();

€intent.setClass(this,NextActivity.class);

€//往下一个界面传值,可省略

€intent.putExtra("key",value);€startActivity(intent);

€€//下一个界面接收值:

€Intent intent = this.getIntent();

€String value = intent.getStringExtra("key");

€//如果是int型就getIntgerExtra€€2.带返回值的跳转:€startActivityForResult(intent,requestcode);

€//在本类中监听返回结果€@Override

€protected void onActivityResult(intrequestCode, int resultCode, Intent data){

€//得到返回值

€String result = data.getStringExtra("key");

€}

€//下一个界面写:

€Intent intent = this.getIntent();

€intent.putExtra("key",value);€setResult(resultCode,intent);

€€3.销毁activity

:finish();

€4.activity的重绘:

€//重新加载一个布局

€this.setContentView(R.layout.new_main);

€€5.activity切换动画:

€//在startActivity之后添加€this.overridePendingTransition(R.anim.enterAnim, R.anim.exitAnim);

€》

『小菜』

〔Android功能实现〕

【开机自启程序】

〖2017-08-16 17:18:28〗

《€€1.新建一个类继承广播类:

€public class BootBroadcastReceiver extends BroadcastReceiver {

€static final String action_boot = "android.intent.action.BOOT_COMPLETED";€@Override

€public void onReceive(Context context, Intent intent) {

€if (intent.getAction().equals(action_boot)) {

€//接受到开机广播后打开MainActivity界面

€Intent ootStartIntent = new Intent(context, MainActivity.class);€ootStartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

€context.startActivity(ootStartIntent);

€}

€}

€}

€2.在配置清单中配置这个广播:

€€

€€

€€2.添加开机自启权限:

€€》

『小菜』

〔Android功能实现〕

【复制安装包中的数据库】

〖2017-08-16 06:53:23〗

《1.方法调用示例:

€€//得到数据库文件路径

€Filedatabase1=getDatabasePath("res_download.db");

€//调用方法€copyDatabaseFile(IndexActivity.this, false, database1,R.raw.res_download);

€2.复制安装包中数据库方法:€€//最后一个参数是res/raw/中的资源id

€public static€void€copyDatabaseFile(Context context, boolean isfored,File databaseName,int rawId) {€File dir = databaseName.getParentFile();€if (!dir.exists()) {€try {€dir.mkdir();€} catch (Exception e) {€e.printStackTrace();€}€}€if(databaseName.exists() && !isfored){€//如果isfored=false不会删除以前的数据库€return ;€}€try {€if(databaseName.exists()){€//如果isfored=true而且存在删除以前的数据库€databaseName.delete();€}€databaseName.createNewFile():€InputStream in = context.getResources().openRawResource(rawId);€int size = in.available(); €byte buf[] = new byte[size];€in.read(buf); €in.close();€FileOutputStream out =new€FileOutputStream(databaseName);€out.write(buf);€out.close();€} catch (Exception e) {€e.printStackTrace();€}€}》

『小菜』

〔Android功能实现〕

【复制assets文件夹到SD卡】

〖2017-08-16 07:01:12〗

《€//第一个参数assets中文件夹,第二个复制的新路径

€€private void CopyAssets(String assetDir, String dir) {

€String[] files;€try {

€files = this.getResources().getAssets().list(assetDir);

€} catch (IOException e1){

€return;

€}

€File mWorkingPath = new File(dir);

€//如果文件夹不存在,创建

€if (!mWorkingPath.exists()) {€if (!mWorkingPath.mkdirs()) {

€Log.e("--CopyAssets--", "创建目录失败");

€}

€}

€for (int i = 0; i < files.length; i++) {

€try {

€String fileName = files[i];

€//如果名字不包含点,就是文件夹

€if (!fileName.contains(".")) {

€if (0 == assetDir.length()){

€CopyAssets(fileName, dir + fileName + "/");

€} else {€CopyAssets(assetDir + "/" + fileName, dir + fileName + "/");

€}

€continue;

€}€File outFile = new File(mWorkingPath, fileName);

€if (outFile.exists())

€outFile.delete();

€InputStream in = null;

€if (0 != assetDir.length())€in = getAssets().open(assetDir + "/" + fileName);

€else€in = getAssets().open(fileName);€OutputStream out =newFileOutputStream(outFile);

€//用一个byte组从输入流读取写到输出流中€byte[] buf = new byte[1024];€int len;

€while ((len = in.read(buf)) > 0) {€out.write(buf, 0, len);

€}€in.close();

€out.close();€} catch (FileNotFoundException e) {

€e.printStackTrace();€} catch (IOException e) {€e.printStackTrace();

€}

€}

€}

€》

『小菜』

〔Android功能实现〕

【读取assets和rae文件】

〖2017-08-16 07:07:3〗

《一、读取assets中文件:€//拿到输入流,参数为assets中文件名€InputStream in = getAssets().open("aa.txt");

€//然后就可以像平常的IO一样操作了,例如复制到SD卡中:€try {

€InputStream in = getAssets().open("a.txt");€File file = new File("storage/sdcard0/a.txt");€FileOutputStream out =new€FileOutputStream(file);

€int len = -1 ;

€byte[] bytes = new byte[1024];

€while( (len=in.read(bytes) ) != -1){

€out.write(bytes,0,len);

€ }

€out.close();

€in.close();

€} catch (IOException e) {

€e.printStackTrace();

€}

€€二、读取res/raw中的文件:€//拿到输入流,context是上下文,rawId是文件资源如R.raw.aa€InputStream in = context.getResources().openRawResource(rawId); €》

『小菜』

〔Android功能实现〕

【解压assets压缩包到SD卡】

〖2016-08-16 07:10:56〗

《/**context上下文对象

€*assetName压缩包名字

€*outputDirectory输出目录

€ *isReWrite如果存在是否覆盖

€ */

€public static void unZip(Context context, String assetName,String outputDirectory,boolean isReWrite) throws IOException {€//创建解压目标目录€File file = new File(outputDirectory);€//如果目标目录不存在,则创建€if (!file.exists()) {€file.mkdirs();€} €//打开压缩文件€InputStream inputStream = context.getAssets().open(assetName);€ZipInputStream zipInputStream = new ZipInputStream(inputStream);€//读取一个进入点€ZipEntry zipEntry = zipInputStream.getNextEntry();€//使用1Mbuffer€byte[] buffer = new byte[1024 * 1024]; €//解压时字节计数€int count = 0;€//如果进入点为空说明已经遍历完所有压缩包中文件和目录€while (zipEntry != null) {€//如果是一个目录€if (zipEntry.isDirectory()) {€file = new File(outputDirectory + File.separator + zipEntry.getName());€//文件需要覆盖或者是文件不存在 €if(isReWrite || !file.exists()){€file.mkdir();€}€} else {€//如果是文件€file = new File(outputDirectory + File.separator + zipEntry.getName()); €//文件需要覆盖或者文件不存在,则解压文件 €if(isReWrite || !file.exists()){€file.createNewFile(); €FileOutputStream fileOutputStream = newFileOutputStream(file);€while ((count = zipInputStream.read(buffer)) > 0)€{€fileOutputStream.write(buffer, 0, count);€}€fileOutputStream.close(); €} €}€//定位到下一个文件入口€zipEntry = zipInputStream.getNextEntry();€€} €zipInputStream.close(); €} 》

『小菜』

〔Android功能实现〕

【使用Mediaplarl播放视频】

〖2017-08-16 07:15:23〗

《import android.app.Activity;€import android.os.Bundle;€import android.widget.Button;€import android.widget.VideoView;€import android.view.View.OnClickListener;€import android.view.View;€import android.net.Uri;€import android.widget.MediaController;€€public class MainActivity extends Activity €}€private Button bn1,bn2,bn3;€private VideoView Video;€@Override€protected void onCreate(Bundle savedInstanceState)€ {€super.onCreate(savedInstanceState);€setContentView(R.layout.main);€//获取main布局文件里的控件对象€bn1=(Button)findViewById(R.id.mainButton1);€bn2=(Button)findViewById(R.id.mainButton2);€bn3=(Button)findViewById(R.id.mainButton3);€€Video=(VideoView)findViewById(R.id.mainVideoView1);€€Video.setVideoURI(Uri.parse("file://路径"));€//这里只需要把“路径”换成你视屏文件所在的目录路径就行了€Video.setMediaController(new€MediaController(this));€€bn1.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€//调用start播放视屏方法€Video.start();€}€});€bn2.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€//调用pause暂停播放方法€Video.pause();€}€});€bn3.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€//调用结束方法€Video.stopPlayback();€}€});€}€}€//剩下的不多说€》

『小菜』

〔Android功能实现〕

【播放SD卡视频】

〖2017-08-16 07:21:47〗

《import android.app.Activity;€import android.os.Bundle;€import android.widget.Button;€import android.widget.VideoView;€import android.view.View.OnClickListener;

import android.view.View;€import android.net.Uri;€import android.widget.MediaController;€€public class MainActivity extends Activity €{€private Button bn1,bn2,bn3;€private VideoView Video;€@Override€protected void onCreate(Bundle savedInstanceState)€{€super.onCreate(savedInstanceState);€setContentView(R.layout.main);€bn1=(Button)findViewById(R.id.mainButton1);€bn2=(Button)findViewById(R.id.mainButton2);€bn3=(Button)findViewById(R.id.mainButton3);€Video=(VideoView)findViewById(R.id.mainVideoView1);€€Video.setVideoURI(Uri.parse("file://"));€/*€这里是填视屏文件的路径file://然后就是你的视屏路径€*/€Video.setMediaController(new MediaController(this));€bn1.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€Video.start();€}€});€bn2.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€Video.pause();€}€});€bn3.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€Video.stopPlayback();€}€});€}€}€€//剩下的不多说,入门小白都会的€》

『小菜』

〔Android功能实现〕

【TextView显示图片】

〖2017-08-16 07:26:33〗

《/**

€*HashMap存放图片的文字代码和图片的路径

€ */

€HashMap keyImage = new HashMap();

€keyImage.put("[image01]", R.drawable.img1);€

keyImage.put("[image02]", R.drawable.img2);

€TextView textView = (TextView)€findViewById(R.id.content_editText1);

€//为TextView添加文本改变监听

€textView.addTextChangedListener(newMarkImageWatcher(keyImage,MainActivity.this));

€textView.setText("[image01]");

€/**

€*自定义TextWatcher类

€*/

€public class MarkImageWatcher implements TextWatcher {

€HashMap key = new HashMap();

€Context context;€//构造方法€public€MarkImageWatcher(HashMap key, Context context) {

€super();

€this.key = key;

€this.context = context;

€}

€@Override

€public void afterTextChanged(Editable arg0) {

€String text = arg0.toString():€Iterator iterator = key.keySet().iterator();

€while (iterator.hasNext()) {

€String k = iterator.next();

€if (text.contains(k)) {

€int index = 0;

€while ((index = text.indexOf(k, index)) != -1) {

€Drawable drawable = context.getResources().getDrawable(key.get(k));€drawable.setBounds(0, 0, 300,500);

€//将代表图片的文本标记为图片

€arg0.setSpan(new ImageSpan(drawable,ImageSpan.ALIGN_BASELINE), index,index + k.length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);€index += k.length();

€}

€}

€}

€}

€}€》

『小菜』

〔Android功能实现〕

【接收其他应用分享的数据】

〖2017-08-16 07:31:23〗

《public class ShareActivity extends€Activity{€ @Override€ protected void€onCreate(Bundle savedInstanceState) {€    // TODO Auto-generated method stub€  super.onCreate(savedInstanceState);  €  // 得到intent对象, 判断类型是 action 或者 MIME €    Intent intent = getIntent();€    String action = intent.getAction();€    String type = intent.getType();€    if (Intent.ACTION_SEND.equals(action) && type != null) {€        if ("text/plain".equals(type)) {€    handleSendText(intent);€/ 调用处理文本的方法€        } else if (type.startsWith("image/")) {€            handleSendImage(intent); €// 调用处理图片的方法€        }€    } else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null) {€        if (type.startsWith("image/")) {€ handleSendMultipleImages(intent); €// 调用处理多个图片的方法€        }€    } else {€        //其他的分享类型€    }€ }€ void€handleSendText(Intent intent) {€    String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);€    String sharedTitle = intent.getStringExtra(Intent.EXTRA_TITLE);€    if (sharedText != null) {€        // 得到分享的文本sharedText€    }€ }€ void€handleSendImage(Intent intent) {€    Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);€    if (imageUri != null) {€        // 得到分享的图片imageUri€    }€ } € void€handleSendMultipleImages(Intent intent) {€    ArrayList imageUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);€    if (imageUris != null) {€// 得到分享的图片集合imageUris€    }€ }

}

『小菜』

〔Android功能实现〕

【调用分享功能】

〖2017-08-16 07:33:26〗

€//分享文本内容

€public static void shareText(Context context,String text) { €Intent sendIntent = new Intent();€sendIntent.setAction(Intent.ACTION_SEND);

€sendIntent.putExtra(Intent.EXTRA_TEXT,text);

€sendIntent.setType("text/plain");

€context.startActivity(Intent.createChooser(sendIntent, "分享文本")); €}

€//分享图片

€public static void shareText(Context context,Uri uriToImage) {

€Intent shareIntent = new Intent();€shareIntent.setAction(Intent.ACTION_SEND);

€shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage);€shareIntent.setType("image/jpeg");

€context.startActivity(Intent.createChooser(shareIntent, "分享图片"));

€}

€//分享多张图片

€public static void shareText(Context context,ArrayList imageUris) {

€Intent shareIntent = new Intent();€shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);

€shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);

€shareIntent.setType("image/*");€startActivity(Intent€createChooser(shareIntent, "分享图片"));

€}

€》

『小菜』

〔Android功能实现〕

【调用系统应用】

〖2017-08-16 07:36:41〗

《一、调用图库选择图片:€€Intent intent=new Intent();

€intent.setType("image/*");

€intent.setAction(Intent.ACTION_GET_CONTENT);€startActivityForResult(intent,requestCode);

€//监听返回结果

€@Override

€public void onActivityResult(int requestCode,int resultCode,Intent data)

{€if(resultCode==RESULT_OK)

{

€Uri uri=data.getData();

€ContentResolver cr=this.getContentResolver();

€ //得到选择图片的Bitmap

€Bitmap bitmap=BitmapFactory.decodeStream(cr.openInputStream(uri));€}

€super.onActivityResult(requestCode, resultCode, data);

€}

€€二、调用相机拍照:€€//跳转到android自带的照相机

€Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

€photoUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;€startActivityForResult(intent, 1);

€//监听拍照完成后的处理€@Override€protected€voide€onActivityResult(intrequestCode, int resultCode, Intent data) {€super.onActivityResult(requestCode, resultCode, data);

€if(resultCode==Activity.RESULT_OK){€// 获取相机返回的数据,并转换为Bitmap图片格式

€Bundle bundle = data.getExtras();

€Bitmap bitmap = (Bitmap) bundle.get("data");

€}

€} €€三、调用浏览器打开链接:€€Intent intent_d= new Intent(); €intent_d.setAction("android.intent.action.VIEW");

€Uri content_url = Uri.parse("http://www.aa.com");

€intent_d.setData(content_url);

startActivity(intent_d);

€》

『小菜』

〔Android功能实现〕

【Android自定义弹窗】

〖2017.08.02〗

《dialog = new Dialog(this);

dialog.setCancelable(false);dialog.setCanceledOnTouchOutside(false);dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);final View view =LayoutInflater.from(this).inflate(R.layout.dialoglayout,null);dialog.setContentView(view);dialog.show();//dialoglayout是布局文件的名称,其它就不用我多讲了吧?》

『小菜』

〔Android功能实现〕

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值