android中的小布局

一:对于android开发中需要加载网页

  1.首先在layout布局文件中加载

<WebView    android:id="@+id/webView"    android:layout_width="match_parent"    android:layout_height="match_parent"></WebView>

  2.在清单文件加入网络访问权限(写在application之外)

<!--访问网络权限--><uses-permission android:name="android.permission.INTERNET"/>

  3.mainActivity中实现

     (1)可以先静态绑定一个网址如: private String url="http://www.baidu.com";

     (2)通过findVIewById找到WebView对象,View.loadUrl(url);//加载外部网页 

若需要在本应用界面而不是跳转到第三方浏览器去显示网页操作如下:

//覆盖webView默认通过第三方或者是系统浏览器打开网页的行为。使得网页可以在webView中打开webView.setWebViewClient(new WebViewClient(){@Override    public boolean shouldOverrideUrlLoading(WebView view, String url) {//返回值为true时控制网页在webViewh中打开,如果falseze通过第三方或者是系统浏览器打开网页        //return super.shouldOverrideUrlLoading(view, url);        view.loadUrl(url);        return true;    }//webViewClient帮助webView去处理一些页面控制和请求通知});

   (3)可以启用javaScrip

webView;true;//支持javaScrip

//webView加载页面使用优先缓存加载

//是否需要进行缓存

settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//缓存
//settings.setCacheMode(WebSettings.LOAD_NO_CACHE);//不缓存

  (4)可以对网页进度进行实时监控,用对话框进度条

webView.setWebChromeClient(new WebChromeClient(){@Override    public void onProgressChanged(WebView view, int newProgress) {//newProgress是1到100的整数,课做为精度

if(newProgress==100){ //加载完成  (用自定义函数)关闭progressDialog            closeDialog();        }else{//加载中(用自定义函数) 打开progressDialog            openDialog(newProgress);        }super.onProgressChanged(view, newProgress);    }
});
private void openDialog(int newProgress) {if(proDialog==null) {proDialog = new ProgressDialog(MainActivity.this);//创建进度条对话框对象        proDialog.setTitle("加载中...");        proDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);        proDialog.setProgress(newProgress);        proDialog.setIndeterminate(false);        proDialog.show();    }else{proDialog.setProgress(newProgress);    }

}

private void closeDialog() {if(proDialog!=null&&proDialog.isShowing()){proDialog.dismiss();        proDialog=null;    }
}

   (5)当需要在点击手机物理返回键时不会退出应用,需要修改返回键

//改写手机物理逻按键返回的逻辑public boolean onKeyDown(int keyCode, KeyEvent event){//可以获得当前网址    //Toast.makeText(MainActivity.this,webView.getUrl(),Toast.LENGTH_SHORT).show();    if(keyCode==KeyEvent.KEYCODE_BACK){//点击手机返回键        if(webView.canGoBack()){ //判断是否可以返回            webView.goBack();//返回上衣界面            return true;        }
}else{
System.exit(0);//退出程序    }return super.onKeyDown(keyCode,event);}

二.对于进度条的使用:

  1.首先在layout布局文件中进行加载:ProgressBar

<ProgressBar

        style="?android:attr/progressBarStyleSmall"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/progressBar"

        android:layout_alignParentLeft="true"

        android:layout_alignParentStart="true" />

  (1)style="?android:attr/progressBarStyleSmall"  //表示圆环小型进度条

  (2)当不写style时默认是圆环正常大小的

   (3)style="?android:attr/progressBarStyleLarge"   //圆环大型

  (4)style="@android:style/Widget.ProgressBar.Horizontal"  //条形横向

   2.可以在onCreat方法的SetContentView之前设置:(好像现在可以不用)

//启动窗口特征,启动带进度和不带进度的requestWindowFeature(Window.FEATURE_PROGRESS);requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

  3.给进度条textView显示进度

int first=progress.getProgress();  //获取第一进度int second=progress.getSecondaryProgress();  //获取第二进度int max =progress.getMax();  //获取最大进度teextView.setText(""+(int)(first/(float)max*100)+"%"+"   "+(int)(second/(float)max*100)+"%");

   4.也可以用对话框进度条  ProgressDialog对象 (.java文件中实现)

//1.新建progressDialog对象     对话框进度条

  proDialog=new ProgressDialog(MainActivity.this);

  //2.设置风格为横向

   proDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

 //3.设置标题

  proDialog.setTitle("java工作室!");

 //设置显示文本

 proDialog.setMessage("欢迎来到中国");

 //设置图标

 proDialog.setIcon(R.drawable.img_8);

 /*

设置进度条属性

*/

//设置最大进度

proDialog.setMax((int)totalspace);

 //设置初始化已经增长的进度

proDialog.incrementProgressBy((int)usablespace);

 //设置进度条是明确显示进度的

progress.setIndeterminate(false);  //显示进度

//设置一个确定俺按钮在对话框上。(需要时Activity继承 onclick)

proDialog.setButton(DialogInterface.BUTTON_POSITIVE,"确定",new DialogInterface.OnClickListener(){

@Override

public void onClick(DialogInterface dialogInterface, int i) {

Toast.makeText(MainActivity.this,"欢迎来到数据库工作室",Toast.LENGTH_SHORT).show();

 }

});

//是否可以通过放回按钮退出对话框

proDialog.setCancelable(true);

//显示ProgressDialog

proDialog.show();  //一定记得show 出来,否则不会有对话框

三.对手机内存空间的获取

//获得Sdcard的总和可用空间File file= Environment.getExternalStorageDirectory();long totalspace=file.getTotalSpace();long usablespace=file.getUsableSpace();//转化数据类型String formatTotalSpace= Formatter.formatFileSize(this,totalspace);String formatusablespace=Formatter.formatFileSize(this,usablespace);

四.GriView视图界面的使用

   (1)首先在主布局中加载GriView


<GridView    android:layout_marginTop="10dp"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:horizontalSpacing="10dp"    android:verticalSpacing="10dp"    android:numColumns="3"

android:id="@+id/gridView" />

<!-- android:horizontalSpacing=""  两列之间的间距android:verticalSpacing=""  两行之间的间距android:numColumns=""  每一行显示几列   auto_fit表示自动适配-->

   (2)再新创建一个布局文件 item.xml

在当中添加控件  <ImageView/> 和<TextView/>

   (3)在MainActivity中加载SimpleAdapter 适配器

主要步骤:

/*  1. 准备数据  2, 新建适配器(simpleadapter)  3.GriView加载适配器  4.GriView 适配事件监听器(OnIte吗ClickListener) */

适配器:

private GridView gridView;private List<Map<String,Object>> dataList;private SimpleAdapter adapter;

创建资源:

//icon存放图片  图片的id都是int型private int [] icon={R.drawable.img_1,....};
//存放字private  String [] iconName={"通讯录","课堂",......};
gridViewgridView;dataListnew ,;adapternew this,,item,        new "image","text",new intimageView,textView;

gridViewadapter;//夹加载适配器

gridViewthis;

//数据包装

public List<Map<String ,Object>> getDataList(){

for (int i=0;i<icon.length;i++) {
Map<String ,Object> map=new HashMap<String ,Object>();        map.put("image",icon[i]);        map.put("text",iconName[i]);        dataList.add(map);    }return dataList;}

//点击事件:


public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

//i代表iconName中的位置从0开始的 (long l)表示id 从0开始

Toast.makeText(this, "我是"+iconName[i] +" "+l, Toast.LENGTH_SHORT).show();
}

时间: 2024-11-01 00:20:13

android中的小布局的相关文章

Android中ListView Item布局优化技巧_Android

本文实例讲述了Android中ListView Item布局优化技巧.分享给大家供大家参考,具体如下: 之前一直都不知道ListView有多种布局的优化方法,只能通过隐藏来实现,自己也知道效率肯定是很低的,但是也不知道有什么方法,这些天又查了一些资料,然后知道 其实google早就帮我们想好了优化方案了. 假设你的ListView Item有三种布局样式的可能:就比如很简单的显示一行字,要靠左,居中,靠右. 这时我们就可以在BaseAdapter里面重写两个方法: private static

Android中修改键盘布局或者按键映射时的注意点

在Android中修改键盘布局或者按键映射时,除了在inputdevice中修改上报的SCANCODE之外,还需要修改相应的kl文件. 具体原理: 当一个inputdevice的driver将按键的SCANCODE上报给EventHub之后,EventHub还会用SCANCODE去获取具体的Keycode,这一步就是根据相应的inputdevice的kl文件中的配置得到的,所以如果仅仅上报SCANCODE,不修改kl文件,则会导致SCANCODE是正确的,但是找不到相应的mapkey,从而上报的

Android中微信小程序开发之弹出菜单

先给大家展示下效果图,具体效果图如下所示: 具体代码如下所示: 1.index.js //index.js //获取应用实例 var app = getApp() Page({ data: { isPopping: false,//是否已经弹出 animationPlus: {},//旋转动画 animationcollect: {},//item位移,透明度 animationTranspond: {},//item位移,透明度 animationInput: {},//item位移,透明度

Android中FoldingLayout折叠布局的用法及实战全攻略_Android

一.概述无意中翻到的FoldingLayout的介绍的博客,以及github地址.感觉很nice呀,于是花了点时间研究以及编写,本篇博客将带大家从最基本的原理分析,一步一步的实现我们的FoldingLayout,当然了,如果你能力过硬,可以直接下载github上的代码进行学习. 博客基本分为以下几个部分: 1.Matrix的setPolyToPoly使用 2.在图片上使用渐变和阴影 3.初步的FoldingLayout的实现,完成图片的折叠显示(可控制折叠次数.包含阴影的绘制) 4.引入手势,手

android中在Layout布局文件中添加控件ID,在Activity中findViewById找不到

        一直用着好好的eclipse开发android的应用,突然新建的项目中发现在Layout布局文件中控件ID在R中不能自动生成了.然后在Eclipse中通过Project->Clean操作之后在R中就生成了控件的ID,这样也太麻烦了.突然想到前几天做个项目需要把eclipse中的自动构建取消掉了,然后目前就不能自动生成了,需要手动操作,在eclipse中设置自动构建就好了,具体操作Project->Build Automatically.在build automatically出

Android中关于相对布局RelativeLayout的技巧汇总

前言 首先大家可以思考下如何用RelativeLayout而且没有嵌套生成下面的布局,如果你会的话就不用看后面的了. 分析 这个布局的特点是按钮3底部对齐,按钮2在按钮3的上面,文本框水平充满剩余的区域,按钮1顶部对齐,列表框垂直充满剩余的区域. 下面我们会拆分为下面两个子问题: 水平充满剩余区域的问题 水平方向上有两个组件,一个组件宽度为wrap_content(或者固定宽度),另外一个组件的需要充满剩余的宽度,效果如下: 左侧一个文本框,右侧一个按钮 如果是嵌套一个LinearLayout布

android 布局-android中的布局是否可以重复利用

问题描述 android中的布局是否可以重复利用 android中的ui布局能同时被不同的java代码使用吗?就是代码中相同的布局直接使用一个就可以了,这样可以吗 解决方案 嗯,是可以的,在布局文件中,可以使用include标签复用其他layout布局,在java代码中,可以通过inflate方法来加载布局. 解决方案二: 可以,参考一下: http://blog.csdn.net/angelia222/article/details/7310304 解决方案三: 可以重复利用,但是会影响效率,

Android开发-之五大布局详解_Android

在html中大家都知道布局是什么意思了,简单来说就是将页面划分模块,比如html中的div.table等.那么Android中也是这样的.Android五大布局让界面更加美化,开发起来也更加方便.当然布局方式不一样应用的地方也不一样,当然了有的布局方式也是可以相互转换和嵌套使用的.它们都各有各的优缺点,具体页面要怎么布局还是得看开发需求,但是用的最多的还是相对布局.线性布局以及相对布局和线性布局的嵌套使用.当然,我说的是安卓,并没有指定是安卓手机,比如平板.智能家居(电视...)很多都是Andr

android-在Android中为线性布局添加标题

问题描述 在Android中为线性布局添加标题 我创建了如下的GUI,使用了线性布局,并且给这个布局设置了边框.我想在这个边框上插入标题.如何实现啊? 解决方案 设置一个 relative布局,然后在把所有的linear布局的代码添加在relative layout里.再添加textview,并且标明textview在top位置,同时给出外边距. <RelativeLayout> <TextView android:layout_alignParentTop="true&quo