android 中怎样把图片在html中显示
推荐你看一个例子```精仿android QQ````
就是一个登陆界面``但是其中的比例布局 风格设计 调用
都包涵的很全面```是一个界面设计的好例子
在android开发中,通常使用xml格式来描述布局文件。
就目前而言,熟悉android布局及美化的人员少之又少,出现了严重的断层。大部分企业其实还是程序员自己动手布局。这样既浪费时间和精力,也未必能达到理想的效果。但在企业级的android开发中,使用html页面进行布局也有很多的优势(例:简单,大部分开发人员及美工都熟悉,方便统一进行更新,管理)。
复制代码 代码如下:
package com.dazhuo.ui;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONObject;
import com.dazhuo.domain.Person;
import com.dazhuo.service.PersonService;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
public class MainActivity extends Activity {
private PersonService service;
private WebView webview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
service =new PersonService();
webview = (WebView) this.findViewById(R.id.webView);//android内置浏览器对象
webview.getSettings().setJavaScriptEnabled(true);//启用javascript支持
//添加一个js交互接口,方便html布局文件中的javascript代码能与后台java代码直接交互访问
webview.addJavascriptInterface(new PersonPlugin() , "Person");//new类名,交互访问时使用的别名
//
webview.loadUrl("file:///android_asset/index.html");//加载本地的html布局文件
//其实可以把这个html布局文件放在公网中,这样方便随时更新维护 例如 webview.loadUrl("www.xxxx.com/index.html");
}
//定义一个内部类,从java后台(可能是从网络,文件或者sqllite数据库) 获取List集合数据,并转换成json字符串,调用前台js代码
private final class PersonPlugin{
public void getPersonList(){
List list = service.getPersonList();//获得List数据集合
//将List泛型集合的数据转换为JSON数据格式
try {
JSONArray arr =new JSONArray();
for(Person person :list)
{
JSONObject json =new JSONObject();
json.put("id", person.getId());
json.put("name", person.getName());
json.put("mobile",person.getMobile());
arr.put(json);
}
String JSONStr =arr.toString();//转换成json字符串
webview.loadUrl("javascript:show('"+ JSONStr +"')");//执行html布局文件中的javascript函数代码--
Log.i("MainActivity", JSONStr);
} catch (Exception e) {
// TODO: handle exception
}
}
//打电话的方法
public void call(String mobile){
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ mobile));
startActivity(intent);
}
}
}
tml页面(命名:Android.html放在assets文件夹下):::::
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" type="text/javascript">
function get4Android(str){
document.getElementById("show").innerHTML="This is a message from android:"+str;
}
</script>
</head>
<body>
<div id="show"></div>
</body>
</html>
Text.java代码:::
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Editable;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Text extends Activity implements OnClickListener {
private Button button;
private TextView text;
private WebView web;
private EditText edit;
private Handler handler;
private void initView() {
button = (Button) this.findViewById(R.id.button2);
web = (WebView) this.findViewById(R.id.webView1);
edit = (EditText) this.findViewById(R.id.editText1);
button.setOnClickListener(this);
}
private void setWebView() {
web.setWebViewClient(new WebViewClient());
web.requestFocus();
WebSettings setting = web.getSettings();
setting.setJavaScriptEnabled(true);
web.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
web.requestFocus();
return false;
}
});
web.addJavascriptInterface(new SendAndroid(), "theKey");
web.loadUrl("file:///android_asset/android.html");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initView();
setWebView();
handler = new Handler() {
public void handleMessage(android.os.Message msg) {
String str = msg.obj.toString();
text.setText(str);
};
};
}
@Override
public void onClick(View v) {
Editable editable = edit.getText();
web.loadUrl("javascript:get4Android(\"" + editable.toString()
+ "\")");
}
class SendAndroid {
public void runOnAndroidJavaScript(final String str) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("******" + str);
Message mes = handler.obtainMessage();
mes.obj = str;
handler.sendMessage(mes);
}
}).start();
}
}
}
主要是:web.loadUrl("javascript:get4Android(\"" + editable.toString()+ "\")");中的“javascript:get4Android”要和html中的【function get4Android(str){
document.getElementById("show").innerHTML="This is a message from android:"+str;
}】方法名相同
在android开发中,通常使用xml格式来描述布局文件。就目前而言,熟悉android布局及美化的人员少之又少,出现了严重的断层。大部分企业,其实还是程序员自己动手布局。这样既浪费时间和精力,也未必能达到理想的效果。但是,在企业级的android开发中,使用html页面进行布局,也有很多的优势(例如:简单,大部分开发人员及美工都熟悉,方便统一进行更新,管理)。
复制代码 代码如下:
package com.dazhuo.ui;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONObject;
import com.dazhuo.domain.Person;
import com.dazhuo.service.PersonService;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
public class MainActivity extends Activity {
private PersonService service;
private WebView webview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
service =new PersonService();
webview = (WebView) this.findViewById(R.id.webView);//android内置浏览器对象
webview.getSettings().setJavaScriptEnabled(true);//启用javascript支持
//添加一个js交互接口,方便html布局文件中的javascript代码能与后台java代码直接交互访问
webview.addJavascriptInterface(new PersonPlugin() , "Person");//new类名,交互访问时使用的别名
// <body onload="javascript:Person.getPersonList()">
webview.loadUrl("file:///android_asset/index.html");//加载本地的html布局文件
//其实可以把这个html布局文件放在公网中,这样方便随时更新维护 例如 webview.loadUrl("www.xxxx.com/index.html");
}
//定义一个内部类,从java后台(可能是从网络,文件或者sqllite数据库) 获取List集合数据,并转换成json字符串,调用前台js代码
private final class PersonPlugin{
public void getPersonList(){
List<Person> list = service.getPersonList();//获得List数据集合
//将List泛型集合的数据转换为JSON数据格式
try {
JSONArray arr =new JSONArray();
for(Person person :list)
{
JSONObject json =new JSONObject();
json.put("id", person.getId());
json.put("name", person.getName());
json.put("mobile",person.getMobile());
arr.put(json);
}
String JSONStr =arr.toString();//转换成json字符串
webview.loadUrl("javascript:show('"+ JSONStr +"')");//执行html布局文件中的javascript函数代码--
Log.i("MainActivity", JSONStr);
} catch (Exception e) {
// TODO: handle exception
}
}
//打电话的方法
public void call(String mobile){
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ mobile));
startActivity(intent);
}
}
}
<a href="https://www.baidu.com/s?wd=tml&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4PHc4Pvn3PHbznjnLnhDL0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DdnHDknW6snWcvnHm3PHcLPj0" target="_blank" class="baidu-highlight">tml</a>页面(命名:Android.h<a href="https://www.baidu.com/s?wd=tml&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4PHc4Pvn3PHbznjnLnhDL0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DdnHDknW6snWcvnHm3PHcLPj0" target="_blank" class="baidu-highlight">tml</a>放在assets文件夹下):::::
<head>
<meta http-equiv="Content-Type" content="text/h<a href="https://www.baidu.com/s?wd=tml&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4PHc4Pvn3PHbznjnLnhDL0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DdnHDknW6snWcvnHm3PHcLPj0" target="_blank" class="baidu-highlight">tml</a>; charset=utf-8" />
<script language="javascript" type="text/javascript">
function get4Android(str){
document.getElementById("show").innerHTML="This is a message from android:"+str;
}
</script>
</head>
<body>
<div id="show"></div>
</body>
</html>
Text.java代码:::
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Editable;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Text extends Activity implements OnClickListener {
private Button button;
private TextView text;
private WebView web;
private EditText edit;
private Handler handler;
private void initView() {
button = (Button) this.findViewById(R.id.button2);
web = (WebView) this.findViewById(R.id.webView1);
edit = (EditText) this.findViewById(R.id.editText1);
button.setOnClickListener(this);
}
private void setWebView() {
web.setWebViewClient(new WebViewClient());
web.requestFocus();
WebSettings setting = web.getSettings();
setting.setJavaScriptEnabled(true);
web.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
web.requestFocus();
return false;
}
});
web.addJavascriptInterface(new SendAndroid(), "theKey");
web.loadUrl("file:///android_asset/android.html");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initView();
setWebView();
handler = new Handler() {
public void handleMessage(android.os.Message msg) {
String str = msg.obj.toString();
text.setText(str);
};
};
}
@Override
public void onClick(View v) {
Editable editable = edit.getText();
web.loadUrl("javascript:get4Android(\"" + editable.toString()
+ "\")");
}
class SendAndroid {
public void runOnAndroidJavaScript(final String str) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("******" + str);
Message mes = handler.obtainMessage();
mes.obj = str;
handler.sendMessage(mes);
}
}).start();
}
}
}
主要是:web.loadUrl("javascript:get4Android(\"" + editable.toString()+ "\")");中的“javascript:get4Android”要和html中的【function get4Android(str){
document.getElementById("show").innerHTML="This is a message from android:"+str;
}】方法名相同
夏涛滋心: 最简单方便的就是使用IE. 先从我的电脑中选好文件复制. 在IE地址栏打入FTP
措勤县13017122936: android 中怎样把图片在html中显示? - ?
夏涛滋心: 在android开发中,通常使用xml格式来描述布局文件.就目前而言,熟悉android布局及美化的人员少之又少,出现了严重的断层.大部分企业其实还是程序员自己动手布局.这样既浪费时间和精力,也未必能达到理想的效果.但在企业级的...
措勤县13017122936: Android 怎么让图片显示在button中间 - ?
夏涛滋心: 使用ImageButton就可以实现,代码如下: <ImageButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:scaleType="center"//将控件中的图片属性定义为居中显示android:src="@drawable/xxx" />...
措勤县13017122936: android 中怎么把一张图片画到textview上 - ?
夏涛滋心: 实现ImageGetter接口,异步加载图片.class HtmlImageGetter extends ImageGetter{ private TextView tv; private Drawable drawable; public HtmlImageGetter(TextView tv,Drawable drawable){ this.tv = tv; this.drawable = drawable; } @Override public ...
措勤县13017122936: Android中已经写好了XML文件了,想在上面通过程序放图片,怎么办? - ?
夏涛滋心: ImageButton btn = (ImageButton)findViewById(R.id.button); Drawable dr = this.getResources().getDrawable(R.drawable.icon); //取得图片资源 btn.setBackgroundDrawable(dr); //设置btn的背景图片 刷新成别的图片的话再btn.setBackgroundDrawable(XX); 也可以btn.setBackgroundResource(R.drawable.icon)
措勤县13017122936: android怎么实现导入图片 - ?
夏涛滋心: 1. 图片放在sdcard中, Bitmap imageBitmap = BitmapFactory.decodeFile(path) (path 是图片的路径,跟目录是/sdcard)2. 图片在项目的res文件夹下面 //得到application对象 ApplicationInfo appInfo = getApplicationInfo(); //得到该图片的id(...
措勤县13017122936: 安卓里如何向textview里面添加图片 - ?
夏涛滋心: 1. 如果你想要的是图片在上,文字在下,可以考虑用RelativeLayout,里面分别放一个textview和一个Imageview 2. 如果你想要的是图片在下,文字在上,比较简单的是将Textview的背景设置为你需要的图片即可
措勤县13017122936: android 里面怎样将图片上传到数据库 - ?
夏涛滋心: 使用Http的get或者post.
措勤县13017122936: 使用android上传图片到服务器,并且把图片保存到服务器的某个文件夹里 - ?
夏涛滋心: 有两种方法,第一,把你的图片转成字节流,然后用post方法把字节流传到服务端,然后服务端接收到字节流之后,开启一个线程把它重新压缩成图片,保存在某个文件夹下面.第二,开启一个线程,用socket直接把图片放到stream中传到服务端,服务端接收后保存到文件夹下.
措勤县13017122936: 如何在安卓界面中插入图片? - ?
夏涛滋心: 先将一个.png的背景图片存入工程中res/drawble(当然drawble-hdpi、drawble-mdpi、drawble-ldpi中一个或者几个文件夹都可)文件夹中.假如存入的图片名称为activity_bg.png 第一种,在对应的布局文件(自动生成的工程默认文件是在res/...