通过什么属性获得datetimepicker控件选定的日期

通过什么属性获得datetimepicker控件选定的日期,第1张

DatetimePicker 控件选择日期如何获取所选日期的时分秒 DatetimePicker 控件选择日期时,用下面的代码只能获取到例如“2011-7-6 00-00-00”,时分秒显示的是“00-00-00”,如何获取到所选日期的时分秒呢? C# code DateTime payday = ConvertToDateTime(Pay_DateSelectedDate); ------解决方案-------------------------------------------------------- 获取秒,你就用DateTimeNow 吧,你获得过去日期的秒有啥用呢 ------解决方案-------------------------------------------------------- 先把控件的format 属性设置为Custom, 然后把CustomFormat 属性设置为yyyy-MM-dd HH:mm:ss ------解决方案-------------------------------------------------------- 你直接这样:DateTime time=DateTimeNowToString( yyyy-MM-dd HH:mm:ss );就行了 ------解决方案-------------------------------------------------------- C# code DateTime dt = dateTimePicker1Value; String strTime = dtToString( HH:mm:ss ); ConsoleWrite(strTime);

你不是有个onclick='aa()'的单击事件吗?直接在<head></head>里面写

<script>

function aa(){

windowformbutton属性

}

</script>

就可以了啊

通过image图像对象去点format这个属性名就能够将该的文件格式给获取到,文件格式实际上指的就是这个是以什么作为结尾的。是png、jpeg还是gif等,代码示例如下:

print(imageformat)

PNG

2而通过size属性就可以获取到大小,大小不是指它占用空间有多少,是多少kb的。而是获取它的长和宽,也就是图像的分辨率像素值,会返回一个元组对象,示例如下:

print(imagesize)

(6621, 4414)

3mode属性表示的意思就是图像的色彩模式信息,一般来说图像被Pillow库读取进来之后可以识别的色彩模式有九种,其中RGB模式是最常见的。除此之外还有表示黑白灰度图的L、表示八位像素图的P等,示例如下:

print(imagemode)

RBGA

4最后则是能够通过info属性来获取到该的其余信息了,这些信息统称为的辞典集。这些获取到的信息都是该图形的特征列表值,

我可能表达的不是很清楚,那就拿个具体的例子来说明吧

比如说,在Activity中我们需要用到一个ProgressBar控件,我们一般先在layout下的mainxml中进行配置

Xml代码

<ProgressBar

android:id="@+id/pb1"

android:layout_width="fill_parent"

android:layout_height="20dip"

<span style="color: #ff0000;"> android:indeterminateOnly="false"</span>

android:layout_gravity="center_vertical"

android:progressDrawable="@android:drawable/progress_horizontal"

android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"

android:minHeight="20dip"

android:maxHeight="20dip"

/>

我们看 android:indeterminateOnly="false" 这行代码的

一般我们如果要将在代码中创建一个ProgressBar,但是不通过配置文件得到。

代码如下:

Java代码

ProgressBar mProgressBar=new ProgressBar(context);

<span style="color: #ff0000;">mProgressBarsetIndeterminate(false); </span>

mProgressBarsetProgressDrawable(getResources()getDrawable

(androidRdrawableprogress_horizontal));

mProgressBarsetIndeterminateDrawable(getResources()getDrawable

(androidRdrawableprogress_indeterminate_horizontal));

本来我们是希望创建一个普通的能显示进度的横条ProgressBar

但是我们发现progressBar中的进度无法更新。

我们来看进度更新的源代码setProgress():

Java代码

@androidviewRemotableViewMethod

synchronized void setProgress(int progress, boolean fromUser) {

<span style="color: #ff0000;"> if (mIndeterminate) {

return;

}</span>

if (progress < 0) {

progress = 0;

}

if (progress > mMax) {

progress = mMax;

}

if (progress != mProgress) {

mProgress = progress;

refreshProgress(Ridprogress, mProgress, fromUser);

}

}

关键是: if (mIndeterminate) { return; }

原来mIndeterminate 的值为true的话,函数直接返回了,也就是我们不能设置progressBar的进度(mProgress)

现在我们的任务是将mIndeterminate 属性设置为false

但是我们发现 mProgressBarsetIndeterminate(false); 这行代码并没有设置mIndeterminate 属性为false

我们看ProgressBar中的源代码:

Java代码

@androidviewRemotableViewMethod

public synchronized void setIndeterminate(boolean indeterminate) {

<span style="color: #ff0000;"> if ((!mOnlyIndeterminate || !mIndeterminate) && indeterminate != mIndeterminate) {</span>

mIndeterminate = indeterminate;

if (indeterminate) {

// swap between indeterminate and regular backgrounds

mCurrentDrawable = mIndeterminateDrawable;

startAnimation();

} else {

mCurrentDrawable = mProgressDrawable;

stopAnimation();

}

}

}

看这行代码: if ((!mOnlyIndeterminate || !mIndeterminate) && indeterminate != mIndeterminate) {

我们发现当mOnlyIndeterminate 和mIndeterminate 之前都为true时,我们并不能将mIndeterminate 从true改变为false

google后,有人通过反射机制将ProgressBar中的mOnlyIndeterminate 设置为false(具体请看:关于使用代码来创建ProgressBar )

我现在我就在想 既然 ProgressBar中的mOnlyIndeterminate 和mIndeterminate属性都是private,而且都不能通过get和set方法来对其进行 *** 作,那么 android 通过在XML中配置的控件属性,是怎么被转换成真正的java类呢?

求大神解惑!

问题补充

over140 写道

你应该看一下他源码里关于这个的构造函数部分的代码,注意父类里面可能也有代码,他并不是转换成java类,只是读取从XML属性读取想要的参数。

你指的是ProgressBar类中的构造函数吗? 我之前就仔细看了这些东西

ProgressBar中构造函数源码:

Java代码

/

Create a new progress bar with range 0100 and initial progress of 0

@param context the application environment

/

public ProgressBar(Context context) {

this(context, null);

}

public ProgressBar(Context context, AttributeSet attrs) {

this(context, attrs, comandroidinternalRattrprogressBarStyle);

}

public ProgressBar(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

mUiThreadId = ThreadcurrentThread()getId();

initProgressBar();

TypedArray a =

contextobtainStyledAttributes(attrs, RstyleableProgressBar, defStyle, 0);

mNoInvalidate = true;

Drawable drawable = agetDrawable(RstyleableProgressBar_progressDrawable);

if (drawable != null) {

drawable = tileify(drawable, false);

setProgressDrawable(drawable);

}

mDuration = agetInt(RstyleableProgressBar_indeterminateDuration, mDuration);

mMinWidth = agetDimensionPixelSize(RstyleableProgressBar_minWidth, mMinWidth);

mMaxWidth = agetDimensionPixelSize(RstyleableProgressBar_maxWidth, mMaxWidth);

mMinHeight = agetDimensionPixelSize(RstyleableProgressBar_minHeight, mMinHeight);

mMaxHeight = agetDimensionPixelSize(RstyleableProgressBar_maxHeight, mMaxHeight);

mBehavior = agetInt(RstyleableProgressBar_indeterminateBehavior, mBehavior);

final int resID = agetResourceId(

comandroidinternalRstyleableProgressBar_interpolator,

androidRanimlinear_interpolator); // default to linear interpolator

if (resID > 0) {

setInterpolator(context, resID);

}

setMax(agetInt(RstyleableProgressBar_max, mMax));

setProgress(agetInt(RstyleableProgressBar_progress, mProgress));

setSecondaryProgress(

agetInt(RstyleableProgressBar_secondaryProgress, mSecondaryProgress));

drawable = agetDrawable(RstyleableProgressBar_indeterminateDrawable);

if (drawable != null) {

drawable = tileifyIndeterminate(drawable);

setIndeterminateDrawable(drawable);

}

mOnlyIndeterminate = agetBoolean(

RstyleableProgressBar_indeterminateOnly, mOnlyIndeterminate);

mNoInvalidate = false;

setIndeterminate(mOnlyIndeterminate || agetBoolean(

RstyleableProgressBar_indeterminate, mIndeterminate));

arecycle();

}

看以上代码,发现ProgressBar类并没有使用其父类的构造方法, 它的三个构造方法最终都需要进入到第三个构造方法内,

再看这一句

Java代码

initProgressBar();

其中具体源码如下:

Java代码

private void initProgressBar() {

mMax = 100;

mProgress = 0;

mSecondaryProgress = 0;

mIndeterminate = false;

mOnlyIndeterminate = false;

mDuration = 4000;

mBehavior = AlphaAnimationRESTART;

mMinWidth = 24;

mMaxWidth = 48;

mMinHeight = 24;

mMaxHeight = 48;

}

看 这两句:

Java代码

mIndeterminate = false;

mOnlyIndeterminate = false;

奇怪 在这个初始化ProgressBar的过程中,明明将mIndeterminate和mOnlyIndeterminate属性设置为false

但是我们初始化后的进度条,显示后同样是不会进度的(图如下)

也就是说 mIndeterminate属性依然是true(具体请看ProgressBar中的setProgress()方法)

继续看构造方法中的其他内容时,发现关键所在:

Java代码

mOnlyIndeterminate = agetBoolean(

RstyleableProgressBar_indeterminateOnly, mOnlyIndeterminate);

mNoInvalidate = false;

setIndeterminate(mOnlyIndeterminate || agetBoolean(

RstyleableProgressBar_indeterminate, mIndeterminate));

这两句将mOnlydeterminate和mIndeterminate属性都设置为true,

看到这里,发现这两句都用到 a 这个对象,a 具体是什么呢?

Java代码

TypedArray a =

contextobtainStyledAttributes(attrs, RstyleableProgressBar, defStyle, 0);

那我们能不能通过改变传入 构造函数 的参数 来使 a 发生相应的变化,进而使mOnlyIndeterminate和mIndeterminate属性设置为 true 呢?

再往下深入,发现看的我那是一头雾水,完全找不到方向,所以只得放弃这个猜想。

到最后,我发现 如果要通过正常的java访问机制(当然排除使用反射机制),来 *** 作mOnlyIndeterminate和mIndeterminate属性是不可能的,

你说: 他并不是转换成java类,只是读取从XML属性读取想要的参数。

我们一般是通过findViewById()来根据layout中的XML文件设置的控件属性得到 具体的View控件对象(关于转换成java类,我错了,其实我想说的是怎么得到的这个对象),

这个过程是不是也是通过反射机制来完成的?假如是的话,能给我提供些具体过程的资料呢?

1、首先需要打开ArcMap软件,点击“添加数据”工具图标。

2、在d出的对话框中选择准备的数据图层。

3、然后就看到数据图层显示在了视图区域内。

4、在arcMap菜单栏中选择“选择”——“按属性选择”选项,d出“按属性选择对话框”。

5、在“按属性选择”对话框中,字段列表中选择“GB”,单击“获取唯一值”按钮,在下方的文本框中输入  "GB" = 420101  单击确定。

6、在视图区域内,可以看到选择的要素已经高度显示。在左侧列表右键单击图层,选择下拉菜单 “数据”——“导出数据”。

7、在d出的导出数据对话框中,上面的红框区域都选择默认,下方的红框选择你想导出的路径,并命名图层,点击确定。

8、在视图区域中,把原图层前面的勾选项去掉,就看到导出的数据图层的显示。

以上就是关于通过什么属性获得datetimepicker控件选定的日期全部的内容,包括:通过什么属性获得datetimepicker控件选定的日期、js根据class属性获取对象的click方法、python如何获取属性不一样的图片等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9766027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存