首页 > 编程知识 正文

android访问远程数据库,android获取当前时间

时间:2023-05-04 11:47:53 阅读:162909 作者:2772

最近,在创建项目自定义控件时,尝试获取控件的元素参数,但出现了各种失败。 我在网上搜索了一下,我自己也会试着总结一下。

package com.example.Android test _ 02;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

import android.view.Menu;

import android.view.View;

import Android.view.view.onclick listener;

import Android.view.viewtreeobserver;

import Android.view.viewtreeobserver.ongloballayoutlistener;

import Android.view.window manager.layout params;

import android.widget.Button;

import android.widget.TextView;

//*

*

*该activity测试:1.Activity的生命周期2 .程序动态获取控件的宽度和高度

*

*结论: activity启动时: oncreate---onstart---onresum---onattachedtowindow---- onattachedtowindow

* onWindowFocusChanged (

*

*另一个activity be in front of

*时间: on pause---onwindowfocuschanged---onstop ()

*

*当第一个activity回到开头时: on restart---- onstart---onresum-- -

* onWindowFocusChanged (

*

对于activity finish:on pause---- onwindowfocuschanged---onstop---on destroy (

* )

*

*

* onAttachedToWindow ()此时打印控件的宽度和高度,其他地方的打印在全面加载0、so、activity后获取控件的宽度和高度。

*如果需要获取控件的宽度和高度,则必须等待activity加载。

*

*第二种和第三种方法:只有在调用oncreate (即使在方法中声明,回调中的内容也是onResume )方法之后才能执行。

*/

publicclassmainactivityextendsactivityimplementsonclicklistener {

公共语音打印日志(strings ) {

log.e------------,s;

}

Button btn1;

Button btn2;

TextView textview1;

//*

*获取宽度和高度的第一种方法。

*/

intw=view.measurespec.makemeasurespec (0,View.MeasureSpec.UNSPECIFIED );

inth=view.measurespec.makemeasurespec (0,View.MeasureSpec.UNSPECIFIED );

@Override

保护性视频创建(bundlesavedinstancestate )。

super.oncreate (savedinstancestate;

setcontentview (r.layout.activity _ main;

BTN1=(Button ) findviewbyid (r.id.BTN1);

BTN1.setonclicklistener(this );

BTN2=(Button ) findviewbyid (r.id.BTN2);

textview1=(textview ) findviewbyid ) r.id.textview1;

textview1.measure(w,h );

//int height=textview1. getmeasuredheight (;

//int

width =textview1.getMeasuredWidth();

printLog("直接获取宽高:width:" + textview1.getWidth() + "---->height:"

+ textview1.getHeight());

printLog("使用mesure()获取宽高:width:" + textview1.getWidth()

+ "---->height:" + textview1.getHeight());

// 即使实在oncreate()方法里面声明了,回调里面的内容也只能在onResume()方法被调用后才能得到执行。

// 第二种获取宽高的方式

ViewTreeObserver viewTreeObserver = textview1.getViewTreeObserver();

viewTreeObserver

.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {

@Override

public boolean onPreDraw() {

printLog("使用ViewTreeObserver 获取宽高:width:"

+ textview1.getMeasuredWidth() + "---->height:"

+ textview1.getMeasuredHeight());

return true;

}

});

// 第三种获取宽高的方式

ViewTreeObserver vtb1 = textview1.getViewTreeObserver();

vtb1.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@Override

public void onGlobalLayout() {

textview1.getViewTreeObserver().addOnGlobalLayoutListener(this);

printLog("使用OnGlobalLayoutListener 获取宽高:width:"

+ textview1.getWidth() + "---->height:"

+ textview1.getHeight());

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

@Override

protected void onStart() {

super.onStart();

printLog("onstart()");

printLog("width:" + textview1.getWidth() + "---->height:"

+ textview1.getHeight());

}

@Override

protected void onResume() {

super.onResume();

printLog("onResume()");

printLog("width:" + textview1.getWidth() + "---->height:"

+ textview1.getHeight());

}

@Override

public void onAttachedToWindow() {

super.onAttachedToWindow();

printLog("onAttachedToWindow()");

printLog("width:" + textview1.getWidth() + "---->height:"

+ textview1.getHeight());

}

@Override

public void onWindowFocusChanged(boolean hasFocus) {

super.onWindowFocusChanged(hasFocus);

printLog("onWindowFocusChanged()");

printLog("width:" + textview1.getWidth() + "---->height:"

+ textview1.getHeight());// 此时打印出了控件宽高,其他地方的打印为0

}

@Override

protected void onRestart() {

super.onRestart();

printLog("onRestart()");

}

@Override

public void onWindowAttributesChanged(LayoutParams params) {

super.onWindowAttributesChanged(params);

printLog("onWindowAttributesChanged()");

}

@Override

protected void onPause() {

super.onPause();

printLog("onPause()");

}

@Override

protected void onStop() {

super.onStop();

printLog("onStop()");

}

@Override

protected void onDestroy() {

super.onDestroy();

printLog("onDestroy()");

}

@Override

public void onClick(View v) {

if (v.equals(btn1)) {

printLog("+++++++++++++++++++马上要跳转了++++++++++++++++++");

Intent intent = new Intent(MainActivity.this, Activity1.class);

startActivity(intent);

} else if (v.equals(btn2)) {

printLog("+++++++++++++++++++马上finish了++++++++++++++++++");

this.finish();

}

}

@Override

public void onBackPressed() {

printLog("+++++++++++++++++++我点了返回键,马上要跳转了++++++++++++++++++");

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。