Android java代码 布局

    一般来说我们在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>

转载于:https://my.oschina.net/zhangzhihao/blog/72802

Android时钟的布局Java代码示例如下: 1. 时钟布局: ```xml <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/black"> <TextView android:id="@+id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:textColor="@color/white" android:textSize="70sp"/> </RelativeLayout> ``` 2. 时钟Java代码: ```java public class MainActivity extends AppCompatActivity { private TextView clock; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); clock = findViewById(R.id.clock); final Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { updateTime(); handler.postDelayed(this, 1000); } }; handler.postDelayed(runnable, 0); } private void updateTime() { Date currentTime = Calendar.getInstance().getTime(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("hh:mm:ss", Locale.getDefault()); String time = simpleDateFormat.format(currentTime); clock.setText(time); } } ``` 这个示例中,我们使用了RelativeLayout布局,其中只包含一个TextView,用于显示时间。在MainActivity的onCreate方法中,我们获取了TextView的实例,并创建一个Handler对象和一个Runnable对象,用于更新时间。在updateTime方法中,我们使用SimpleDateFormat来格式化当前时间,并将其显示在TextView中。在Handler对象和Runnable对象的帮助下,我们可以每秒钟更新一次时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值