我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android学习教程之日历控件使用(7)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android学习教程之日历控件使用(7)

本文实例为大家分享了Android日历控件的使用方法,供大家参考,具体内容如下

MainActivity.java代码:


package siso.timessquare;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
  private Button btntimesSquare;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btntimesSquare=(Button)findViewById(R.id.btntimesSquare);
    btntimesSquare.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        Intent intent = new Intent();
        intent.setClass(MainActivity.this,SampleTimesSquareActivity.class);
        //直接启动一个Activity
        startActivity(intent);
      }
    });
  }
}

SampleTimesSquareActivity.java代码:


package siso.timessquare;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.Locale;
import java.util.Set;
import siso.datelibrary.CalendarCellDecorator;
import siso.datelibrary.CalendarPickerView;
import siso.datelibrary.DefaultDayViewAdapter;
import static android.widget.Toast.LENGTH_SHORT;
public class SampleTimesSquareActivity extends Activity {
  private static final String TAG = "SampleTimesSquareActivi";
  private CalendarPickerView calendar;
  private AlertDialog theDialog;
  private CalendarPickerView dialogView;
  private final Set<Button> modeButtons = new LinkedHashSet<Button>();
  @Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sample_calendar_picker);
    final Calendar nextYear = Calendar.getInstance();
    nextYear.add(Calendar.YEAR, 1);
    final Calendar lastYear = Calendar.getInstance();
    lastYear.add(Calendar.YEAR, -1);
    calendar = (CalendarPickerView) findViewById(R.id.calendar_view);
    calendar.init(lastYear.getTime(), nextYear.getTime()) //
        .inMode(CalendarPickerView.SelectionMode.SINGLE) //
        .withSelectedDate(new Date());
    initButtonListeners(nextYear, lastYear);
  }
  private void initButtonListeners(final Calendar nextYear, final Calendar lastYear) {
    final Button single = (Button) findViewById(R.id.button_single);
    final Button multi = (Button) findViewById(R.id.button_multi);
    final Button range = (Button) findViewById(R.id.button_range);
    final Button displayOnly = (Button) findViewById(R.id.button_display_only);
    final Button dialog = (Button) findViewById(R.id.button_dialog);
    final Button customized = (Button) findViewById(R.id.button_customized);
    final Button decorator = (Button) findViewById(R.id.button_decorator);
    final Button hebrew = (Button) findViewById(R.id.button_hebrew);
    final Button arabic = (Button) findViewById(R.id.button_arabic);
    final Button customView = (Button) findViewById(R.id.button_custom_view);
    modeButtons.addAll(Arrays.asList(single, multi, range, displayOnly, decorator, customView));
    single.setOnClickListener(new OnClickListener() {
      @Override public void onClick(View v) {
        setButtonsEnabled(single);
        calendar.setCustomDayView(new DefaultDayViewAdapter());
        calendar.setDecorators(Collections.<CalendarCellDecorator>emptyList());
        calendar.init(lastYear.getTime(), nextYear.getTime()) //
            .inMode(CalendarPickerView.SelectionMode.SINGLE) //
            .withSelectedDate(new Date());
      }
    });
    multi.setOnClickListener(new OnClickListener() {
      @Override public void onClick(View v) {
        setButtonsEnabled(multi);
        calendar.setCustomDayView(new DefaultDayViewAdapter());
        Calendar today = Calendar.getInstance();
        ArrayList<Date> dates = new ArrayList<Date>();
        for (int i = 0; i < 5; i++) {
          today.add(Calendar.DAY_OF_MONTH, 3);
          dates.add(today.getTime());
        }
        calendar.setDecorators(Collections.<CalendarCellDecorator>emptyList());
        calendar.init(new Date(), nextYear.getTime()) //
            .inMode(CalendarPickerView.SelectionMode.MULTIPLE) //
            .withSelectedDates(dates);
      }
    });
    range.setOnClickListener(new OnClickListener() {
      @Override public void onClick(View v) {
        setButtonsEnabled(range);
        calendar.setCustomDayView(new DefaultDayViewAdapter());
        Calendar today = Calendar.getInstance();
        ArrayList<Date> dates = new ArrayList<Date>();
        today.add(Calendar.DATE, 3);
        dates.add(today.getTime());
        today.add(Calendar.DATE, 5);
        dates.add(today.getTime());
        calendar.setDecorators(Collections.<CalendarCellDecorator>emptyList());
        calendar.init(new Date(), nextYear.getTime()) //
            .inMode(CalendarPickerView.SelectionMode.RANGE) //
            .withSelectedDates(dates);
      }
    });
    displayOnly.setOnClickListener(new OnClickListener() {
      @Override public void onClick(View v) {
        setButtonsEnabled(displayOnly);
        calendar.setCustomDayView(new DefaultDayViewAdapter());
        calendar.setDecorators(Collections.<CalendarCellDecorator>emptyList());
        calendar.init(new Date(), nextYear.getTime()) //
            .inMode(CalendarPickerView.SelectionMode.SINGLE) //
            .withSelectedDate(new Date()) //
            .displayOnly();
      }
    });
    dialog.setOnClickListener(new OnClickListener() {
      @Override public void onClick(View view) {
        String title = "I'm a dialog!";
        showCalendarInDialog(title, R.layout.dialog);
        dialogView.init(lastYear.getTime(), nextYear.getTime()) //
            .withSelectedDate(new Date());
      }
    });
    customized.setOnClickListener(new OnClickListener() {
      @Override public void onClick(View view) {
        showCalendarInDialog("Pimp my calendar!", R.layout.dialog_customized);
        dialogView.init(lastYear.getTime(), nextYear.getTime())
            .withSelectedDate(new Date());
      }
    });
    decorator.setOnClickListener(new OnClickListener() {
      @Override public void onClick(View v) {
        setButtonsEnabled(decorator);
        calendar.setCustomDayView(new DefaultDayViewAdapter());
        calendar.setDecorators(Arrays.<CalendarCellDecorator>asList(new SampleDecorator()));
        calendar.init(lastYear.getTime(), nextYear.getTime()) //
            .inMode(CalendarPickerView.SelectionMode.SINGLE) //
            .withSelectedDate(new Date());
      }
    });
    hebrew.setOnClickListener(new OnClickListener() {
      @Override public void onClick(View view) {
        showCalendarInDialog("I'm Hebrew!", R.layout.dialog);
        dialogView.init(lastYear.getTime(), nextYear.getTime(), new Locale("iw", "IL")) //
            .withSelectedDate(new Date());
      }
    });
    arabic.setOnClickListener(new OnClickListener() {
      @Override public void onClick(View view) {
        showCalendarInDialog("I'm Arabic!", R.layout.dialog);
        dialogView.init(lastYear.getTime(), nextYear.getTime(), new Locale("ar", "EG")) //
            .withSelectedDate(new Date());
      }
    });
    customView.setOnClickListener(new OnClickListener() {
      @Override public void onClick(View view) {
        setButtonsEnabled(customView);
        calendar.setDecorators(Collections.<CalendarCellDecorator>emptyList());
        calendar.setCustomDayView(new SampleDayViewAdapter());
        calendar.init(lastYear.getTime(), nextYear.getTime())
            .inMode(CalendarPickerView.SelectionMode.SINGLE)
            .withSelectedDate(new Date());
      }
    });
    findViewById(R.id.done_button).setOnClickListener(new OnClickListener() {
      @Override public void onClick(View view) {
        Log.d(TAG, "Selected time in millis: " + calendar.getSelectedDate().getTime());
        String toast = "Selected: " + calendar.getSelectedDate().getTime();
        Toast.makeText(SampleTimesSquareActivity.this, toast, LENGTH_SHORT).show();
      }
    });
  }
  private void showCalendarInDialog(String title, int layoutResId) {
    dialogView = (CalendarPickerView) getLayoutInflater().inflate(layoutResId, null, false);
    theDialog = new AlertDialog.Builder(this) //
        .setTitle(title)
        .setView(dialogView)
        .setNeutralButton("Dismiss", new DialogInterface.OnClickListener() {
          @Override public void onClick(DialogInterface dialogInterface, int i) {
            dialogInterface.dismiss();
          }
        })
        .create();
    theDialog.setOnShowListener(new DialogInterface.OnShowListener() {
      @Override public void onShow(DialogInterface dialogInterface) {
        Log.d(TAG, "onShow: fix the dimens!");
        dialogView.fixDialogDimens();
      }
    });
    theDialog.show();
  }
  private void setButtonsEnabled(Button currentButton) {
    for (Button modeButton : modeButtons) {
      modeButton.setEnabled(modeButton != currentButton);
    }
  }
  @Override public void onConfigurationChanged(Configuration newConfig) {
    boolean applyFixes = theDialog != null && theDialog.isShowing();
    if (applyFixes) {
      Log.d(TAG, "Config change: unfix the dimens so I'll get remeasured!");
      dialogView.unfixDialogDimens();
    }
    super.onConfigurationChanged(newConfig);
    if (applyFixes) {
      dialogView.post(new Runnable() {
        @Override public void run() {
          Log.d(TAG, "Config change done: re-fix the dimens!");
          dialogView.fixDialogDimens();
        }
      });
    }
  }
}

SampleDayViewAdapter.java代码:


package siso.timessquare;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import siso.datelibrary.CalendarCellView;
import siso.datelibrary.DayViewAdapter;
public class SampleDayViewAdapter implements DayViewAdapter {
 @Override
 public void makeCellView(CalendarCellView parent) {
   View layout = LayoutInflater.from(parent.getContext()).inflate(R.layout.day_view_custom, null);
   parent.addView(layout);
   parent.setDayOfMonthTextView((TextView) layout.findViewById(R.id.day_view));
 }
}

SampleDecorator.java代码:


package siso.timessquare;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.RelativeSizeSpan;
import java.util.Date;
import siso.datelibrary.CalendarCellDecorator;
import siso.datelibrary.CalendarCellView;
public class SampleDecorator implements CalendarCellDecorator {
 @Override
 public void decorate(CalendarCellView cellView, Date date) {
  String dateString = Integer.toString(date.getDate());
  SpannableString string = new SpannableString(dateString + "\ntitle");
  string.setSpan(new RelativeSizeSpan(0.5f), 0, dateString.length(),
    Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
  cellView.getDayOfMonthTextView().setText(string);
 }
}

activity_main.xml内容:


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="siso.timessquare.MainActivity">
  <Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Android 日历控件"
    android:id="@+id/btntimesSquare"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />
</RelativeLayout>

Module App下build.gradle内容:


apply plugin: 'com.android.application'
android {
  compileSdkVersion 23
  buildToolsVersion "23.0.1"
  defaultConfig {
    applicationId "siso.timessquare"
    minSdkVersion 22
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
  }
  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}
dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs')
  testCompile 'junit:junit:4.12'
  compile 'com.android.support:appcompat-v7:23.0.1'
  compile project(path: ':datelibrary')
}

Module datelibrary下build.gradle内容:


apply plugin: 'com.android.library'
android {
  compileSdkVersion 23
  buildToolsVersion "23.0.1"
  defaultConfig {
    minSdkVersion 22
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
  }
  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}
dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs')
  testCompile 'junit:junit:4.12'
  compile 'com.android.support:appcompat-v7:23.0.1'
}

activity_sample_times_square.xml:


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="siso.timessquare.SampleTimesSquareActivity">
</RelativeLayout>

day_view_custom.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  android:padding="4dp"
  >
  <TextView
    android:id="@+id/day_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="@style/CalendarCell.CalendarDate"/>
  <ImageView
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:class="lazy" data-src="@drawable/icon"
    android:scaleType="centerInside"/>
</LinearLayout>

dialog.xml


<com.squareup.timessquare.CalendarPickerView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/calendar_view"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingLeft="16dp"
  android:paddingRight="16dp"
  android:paddingBottom="16dp"
  android:scrollbarStyle="outsideOverlay"
  android:clipToPadding="false"
  android:background="#FFFFFF"
  />

dialog_customized.xml:


<com.squareup.timessquare.CalendarPickerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/calendar_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingBottom="16dp"
    android:scrollbarStyle="outsideOverlay"
    android:clipToPadding="false"
    android:background="@color/custom_background"
    app:tsquare_dayBackground="@drawable/custom_calendar_bg_selector"
    app:tsquare_dayTextColor="@color/custom_calendar_text_selector"
    app:tsquare_dividerColor="@color/transparent"
    app:tsquare_titleTextColor="@color/custom_calendar_text_selector"
    app:tsquare_headerTextColor="@color/custom_header_text"
    />

sample_calendar_picker.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  >
 <HorizontalScrollView
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_marginTop="8dp"
   android:scrollbarStyle="outsideInset">
  <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
   <Button
     android:id="@+id/button_single"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/Single"
     android:enabled="false"/>
   <Button
     android:id="@+id/button_multi"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/Multi"/>
   <Button
     android:id="@+id/button_range"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/Range"/>
   <Button
     android:id="@+id/button_display_only"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/DisplayOnly"/>
   <Button
     android:id="@+id/button_dialog"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/Dialog"/>
   <Button
     android:id="@+id/button_customized"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/Customized"/>
   <Button
     android:id="@+id/button_decorator"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/Decorator"/>
   <Button
     android:id="@+id/button_hebrew"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/Hebrew"/>
   <Button
     android:id="@+id/button_arabic"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/Arabic"/>
   <Button
     android:id="@+id/button_custom_view"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/CustomView"/>
  </LinearLayout>
 </HorizontalScrollView>
 <siso.datelibrary.CalendarPickerView
   android:id="@+id/calendar_view"
   android:layout_width="match_parent"
   android:layout_height="0dp"
   android:layout_weight="1"
   android:paddingLeft="16dp"
   android:paddingRight="16dp"
   android:paddingBottom="16dp"
   android:scrollbarStyle="outsideOverlay"
   android:clipToPadding="false"
   android:background="#FFFFFF"
   />
 <Button
   android:id="@+id/done_button"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:text="@string/Done"
   />
</LinearLayout>

资源结构如图:

strings.xml


<resources>
 <string name="app_name">Timessquare</string>
 <string name="Done">Done</string>
 <string name="Customized">Customized</string>
 <string name="Decorator">Decorator</string>
 <string name="Hebrew">Hebrew</string>
 <string name="Arabic">Arabic</string>
 <string name="CustomView">Custom View</string>
 <string name="Dialog">Dialog</string>
 <string name="DisplayOnly">DisplayOnly</string>
 <string name="Range">Range</string>
 <string name="Multi">Multi</string>
 <string name="Single">Single</string>
</resources>

运行结果如图:

您可能感兴趣的文章:Android实现可滑动的自定义日历控件Android可签到日历控件的实现方法Android 一个日历控件的实现代码Android实现日历控件示例代码Android使用GridLayout绘制自定义日历控件Android自定义日历控件实例详解Android日历控件的实现方法


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android学习教程之日历控件使用(7)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android学习教程之日历控件使用(7)

本文实例为大家分享了Android日历控件的使用方法,供大家参考,具体内容如下 MainActivity.java代码:package siso.timessquare; import android.content.Intent; imp
2022-06-06

Android学习教程之日历库使用(15)

本教程为大家分享了Android日历库的使用方法,供大家参考,具体内容如下 MainActivity.java代码:package siso.weekv; import android.content.Intent; import andr
2022-06-06

Android学习教程之动态GridView控件使用(6)

本文实例为大家分享了Android动态GridView控件使用的具体代码,供大家参考,具体内容如下 MainActivity.java代码:package siso.haha; import android.content.Intent;
2022-06-06

Android使用GridLayout绘制自定义日历控件

效果图思路:就是先设置Gridlayout的行列数,然后往里面放置一定数目的自定义日历按钮控件,最后实现日历逻辑就可以了。 步骤: 第一步:自定义日历控件(初步) 第二步:实现自定义单个日期按钮控件 第三步:将第二步得到的控件动态添加到第一
2022-06-06

Netty学习教程之基础使用篇

什么Netty?Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户、服务器端编程框架
2023-05-31

Android自定义控件之日期选择控件使用详解

Android日期选择控件效果如下:调用的代码:@OnClick(R.id.btn0) public void btn0() { final AlertDialog dialog = new AlertDialog.Builder(cont
2023-05-31

vuex学习进阶篇之getters的使用教程

getters用于获取state里的数据,它类似于计算属性,如果要获取的数据并没有发生变化的话,就会返回缓存的数据,下面这篇文章主要给大家介绍了关于vuex学习进阶篇之getters的使用教程,需要的朋友可以参考下
2022-11-13

分享Android中ExpandableListView控件使用教程

本文采用一个Demo来展示Android中ExpandableListView控件的使用,如如何在组/子ListView中绑定数据源。直接上代码如下: 程序结构图:layout目录下的 main.xml 文件源码如下:
2022-06-06

Android编程之控件ListView使用方法

本文实例讲述了Android编程之控件ListView使用方法。分享给大家供大家参考。具体分析如下: 控件ListView是一个重要的控件,可以被用作用户列表等显示,下面进行它的操作测试。 下面代码实现了生成了一个ListView显示,并对
2022-06-06

Qt学习之容器类的使用教程详解

Qt提供了多个基于模板的容器类,这些类可以用于存储指定类型的数据项。本文主要介绍了Qt常用容器类的使用,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-12-08

Python学习之迭代器的使用教程详解

迭代器是一种对象,该对象包含值的可计数数字。从技术上讲,在 Python 中,迭代器是实现迭代器协议的对象,它包含方法 iter() 和 next()。本文就来聊聊迭代器的具体使用吧
2023-03-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录