展会信息港展会大全

Android java代码代替XML的布局
来源:互联网   发布日期:2015-10-13 14:53:18   浏览:3985次  

导读:一般来说我们在Android中用XML布局要方便很多同时也要快捷。但是有时候在一些特殊的情况我们也可以用代码代替XML的布局,其效果一样的。如TextView的布局:TextView ndroid:text=@+id/TextView01 ......

一般来说我们在Android中用XML布局要方便很多同时也要快捷。但是有时候在一些特殊的情况我们也可以用代码代替XML的布局,其效果一样的。如TextView的布局:

<TextView

ndroid:text="@+id/TextView01"

android:id="@+id/TextView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

</TextView>

其代码也相当于:

LinearLayout.LayoutParams param =

new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

final TextView tv = new TextView(this);

tv.setText("Hello Android!");

tv.setGravity(1);

tv.setId(TestView01);

layout.addView(tv,param);

setContentView(layout);

下面是一个实例来演示一下

package AdView.AD.android;

import java.io.IOException;

import java.io.InputStream;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;

import android.app.Activity;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.widget.ImageView;

import android.widget.LinearLayout;

public class AdView extends Activity

{

private static final int myImageView1 = 0;

private ImageView mImageView1;

boolean run=true;

String uriPic = "http://www.51kdl.com/images/logo2.gif";

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

LinearLayout layout = new LinearLayout(this);

layout.setOrientation(LinearLayout.VERTICAL);

LinearLayout.LayoutParams params =

new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);

ImageView iv= new ImageView(this);

iv.setId(myImageView1);

layout.addView(iv,params);

setContentView(layout);

mImageView1 = (ImageView) findViewById(myImageView1);

new Thread(mTasks).start();

}

public void onDestroy(){

run=false;

super.onDestroy();

}

public void getimage(){

mImageView1.setImageBitmap(getURLBitmap());

}

public Bitmap getURLBitmap()

{

URL imageUrl = null;

Bitmap bitmap = null;

try

{

/* new URL对象将网址传入 */

imageUrl = new URL(uriPic);

} catch (MalformedURLException e)

{

e.printStackTrace();

}

try

{

/* 取得联机 */

HttpURLConnection conn = (HttpURLConnection) imageUrl

.openConnection();

conn.connect();

/* 取得回传的InputStream */

InputStream is = conn.getInputStream();

/* 将InputStream变成Bitmap */

bitmap = BitmapFactory.decodeStream(is);

/* 关闭InputStream */

is.close();

} catch (IOException e)

{

e.printStackTrace();

}

return bitmap;

}

private Runnable mTasks =new Runnable(){

public void run()

{

while(run){

try{

Thread.sleep(500);

mHandler.sendMessage(mHandler.obtainMessage());

}catch(InterruptedException e)

{

e.printStackTrace();

}

}

}

};

Handler mHandler = new Handler(){

public void handleMessage(Message msg)

{

super.handleMessage(msg);

getimage();

}

};

}

其中在Androidmainfest.xml中要插入:< uses- permission android:name="android.permission.INTERNET"></uses-permission>

赞助本站

人工智能实验室

相关热词: java代码 XML

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港