广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    Android开发之时间日期组件用法实例

    2018-04-16 10:56:44 次阅读 稿源:互联网
    广告

    继上一篇时间和日期设置的示例之后,今天来介绍Android的布局组件中有关于时间和日期的设置的组件,希望对大家有所帮助。具体如下:

    时间日期设置组件:TimePicker、DatePicker

    在布局文件中直接可以添加到我们的布局样式中,具体代码如下:

    <LinearLayout     android:id="@+id/linear1"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    >  <EditText    android:id="@+id/editview"    android:layout_width="wrap_content"    android:layout_height="wrap_content" />  <LinearLayout     android:id="@+id/linear2"    android:orientation="horizontal"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    ><br>    //时间设置组件    <TimePicker       android:id="@+id/time"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      />  <br>    //日期设置组件    <DatePicker      android:id="@+id/date"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      />  </LinearLayout></LinearLayout>

    .java文件代码如下:

    public class MainActivity extends Activity {  private EditText myedit = null;<br>    //对两个组件进行声明  private TimePicker time = null;  private DatePicker date = null;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);<br><br>         //设置Activity的显示方向为横屏    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);    myedit = (EditText)findViewById(R.id.editview);<br>         //调用布局文件中的两个组件    time = (TimePicker)findViewById(R.id.time);    date = (DatePicker)findViewById(R.id.date);    //time.setIs24HourView(true);//设置采用24小时制的时间显示,系统默认12小时制    time.setOnTimeChangedListener(new mytime());<br>         //在这里需要注意的是日期没有ondatechangedlistener()方法,我们这里通过调用日期的init()方法设置。    date.init(this.date.getYear(), this.date.getMonth(), this.date.getDayOfMonth(), new myDate());    this.setDateTime();  }      //时间改变事件监听:    <br><br>      class mytime implements OnTimeChangedListener{    @Override    public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {      // TODO Auto-generated method stub      MainActivity.this.setDateTime();    }      }  <br>    //日期改变事件监听  @SuppressLint("NewApi")  class myDate implements OnDateChangedListener{    @Override    public void onDateChanged(DatePicker view, int year, int monthOfYear,        int dayOfMonth) {      // TODO Auto-generated method stub      MainActivity.this.setDateTime();    }      }  public void setDateTime() { // 由于日期时间更改之后文本输入组件的内容也要修改    this.myedit.setText(this.date.getYear() + "-"        + (this.date.getMonth() + 1) + "-" + this.date.getDayOfMonth()        + " " + this.time.getCurrentHour() + ":"        + this.time.getCurrentMinute()); // 修改文本的内容  }}

    效果图如下: 

     

    这个例子中比较难的点在于,日期事件没有OnChangedListener()方法,在这里我们使用了日期的init()方法来代替。其次就是如何控制Activity的显示方向,Activity的显示方向默认是竖屏显示,我们可以通过java文件从新设置,也可以在配置文件中进行设置,这也是java文件中设置比较灵活之处。

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告