当前位置:  编程技术>移动开发
本页文章导读:
    ▪win8开发(13)——怎么选择保存文件        win8开发(13)——如何选择保存文件上一篇文章中,我们讨论了打开文件的UI,现在,我们继续探索一下保存文件的UI组件, 同样道理,也是很简单的。 这回我们用到Windows.Storage.Pickers.FileSave.........
    ▪ 仿QQ登记圆形进度对话框.        仿QQ注册圆形进度对话框...1、styles.xml <style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowIsFloating">true</item> <!-- 设置未浮动窗口 --> <item.........
    ▪ UILabel的一些惯用用法汇总       UILabel的一些常用用法汇总UILabel在iOS开发中经常用到,下面将常用的一些用法汇总,方便需要时查找。 1、根据内容计算label尺寸,一般是计算高度,代码如下: //根据字体大小自动计算label大.........

[1]win8开发(13)——怎么选择保存文件
    来源: 互联网  发布时间: 2014-02-18
win8开发(13)——如何选择保存文件

上一篇文章中,我们讨论了打开文件的UI,现在,我们继续探索一下保存文件的UI组件,

同样道理,也是很简单的。

这回我们用到Windows.Storage.Pickers.FileSavePicker类,与上次打开文件的使用方法基本

一致。当我们调用PickSaveFileAsync方法后,如果用户进行了确认而不是取消,就会返回一

个StorageFile实例,我们的写入操作就可以围绕StorageFile对象展开了。


下面我们来用实例来说明一下吧。
第1步,启动VS,新建一个空白页面的Windows Store应用程序。
第2步,对主页MainPage.xaml我们作以下布局。
<Page
    x:
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:SaveFilePickerExample"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Canvas Background="{StaticResource AppBarBackgroundThemeBrush}">
        <TextBox Name="txtContent" Canvas.Left="6" Canvas.Top="11"
                 Width="1279" Height="365" TextWrapping="Wrap" FontSize="18"/>
        <Button Content="保存到文件" Canvas.Left="54" FontSize="24"
                Canvas.Top="414" Padding="25,17" Click="btnSave_Click"/>
        <TextBlock Name="Msg" FontSize="20" Canvas.Left="280" Canvas.Top="450"/>
    </Canvas>
</Page>
第3步,切换到代码视图,完成下面代码。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using Windows.Storage;
using Windows.Storage.Pickers;
namespace SaveFilePickerExample
{
    /// <summary>
    /// 可用于自身或导航至 Frame 内部的空白页。
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        private async void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (this.txtContent.Text.Equals(string.Empty))
            {
                return;
            }
            FileSavePicker picker = new FileSavePicker();
            // 提交按钮上显示的文本
            picker.CommitButtonText = "保存";
            // 支持的文件类型
            picker.FileTypeChoices.Add("文本文件", new string[] { ".txt" });
            // 默认显示的目录
            picker.SuggestedStartLocation = PickerLocationId.Desktop;
            // 显示UI并返回内容
            StorageFile file = await picker.PickSaveFileAsync();
            // 向文件写入内容
            if (file != null)
            {
                await FileIO.WriteTextAsync(file, txtContent.Text, Windows.Storage.Streams.UnicodeEncoding.Utf8);
                this.Msg.Text = "文件已保存。";
            }
        }
    }
}

设置CommitButtonText属性,就是提交按钮上显示的文本,比如上面代码中,我们设置了

“保存”,就会如下图所示的结果。




 




FileTypeChoices属性设置支持的文件类型,它是一个字典集合,键就是用于说明的简短文本,

值是一个列表值,可以包含多个扩展名。如:

Jpeg图片    ---->    .jpg .jpeg
音频文件   ---->    .mp3  .wav   .wma

本例的执行结果如下面图所示。

 



当文件保存后,我们再用记事打开刚刚保存的文件,就能看到对应的文本内容。
 

    
[2] 仿QQ登记圆形进度对话框.
    来源: 互联网  发布时间: 2014-02-18
仿QQ注册圆形进度对话框...

1、styles.xml

     <style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowIsFloating">true</item>
        <!-- 设置未浮动窗口 -->
        <item name="android:windowFrame">@null</item>
        <!-- 设置无边框 -->
        <item name="android:windowNoTitle">true</item>
        <!-- 设置无标题 -->
        <item name="android:windowBackground">@color/sc_transparent</item>
        <!-- 设置完全透明 -->
        <item name="android:backgroundDimEnabled">true</item>
        <!-- 设置屏幕变暗 -->
    </style>


 

<color name="sc_transparent">#00ffffff</color>


2.dialog_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:gravity="center_horizontal"
    android:background="@drawable/shape_dialog"
    android:paddingTop="15dp"
    android:paddingBottom="15dp"
    android:paddingLeft="30dp"
    android:paddingRight="30dp">

	        
 		 <ProgressBar 
 		        android:layout_width="wrap_content"
 		        android:layout_height="wrap_content"
	            android:indeterminateDrawable="@drawable/progressbar"/>
 		 
         <TextView
             android:id="@+id/tvLoad"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:paddingTop="5dp"
             android:textSize="20.0sp"
             android:textColor="#ffffffff" />
	    

</LinearLayout>


drawable中shape_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="8.0dip"/>
    <solid android:color="#ff333333"/>
</shape>


progressbar.xml

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:pivotX="50%" android:pivotY="50%"
        android:fromDegrees="0" android:toDegrees="360">
    <shape
        android:shape="ring"
        android:innerRadiusRatio="3"
        android:thicknessRatio="8"
        android:useLevel="false">
    <gradient
                android:type="sweep"
                android:useLevel="false"
                android:startColor="#ffffffff"
                android:centerColor="#ff808080"   
                android:centerY="0.45"
                android:endColor="#ff000000"/>
    </shape>
</rotate> 


方法:

public static Dialog creatRequestDialog(final Context context, String tip) {

		final Dialog dialog = new Dialog(context, R.style.dialog);
		dialog.setContentView(R.layout.dialog_layout);
		Window window = dialog.getWindow();		
		WindowManager.LayoutParams lp = window.getAttributes();
		int width = CommonUtils.getScreenWidth(context);
		//lp.width = (int) (0.6 * width);

		TextView titleTxtv = (TextView) dialog.findViewById(R.id.tvLoad);
	
		titleTxtv.setText(tip);
		return dialog;
	}

效果图:


    
[3] UILabel的一些惯用用法汇总
    来源: 互联网  发布时间: 2014-02-18
UILabel的一些常用用法汇总

UILabel在iOS开发中经常用到,下面将常用的一些用法汇总,方便需要时查找。

1、根据内容计算label尺寸,一般是计算高度,代码如下:

//根据字体大小自动计算label大小
+ (CGSize)calculateLabelSizeOfContent:(NSString*)text withFont:(UIFont*)font maxSize:(CGSize)aMaxSize
{
    const CGSize defaultSize = CGSizeMake(320, 22);
    
    if (text == nil || text.length == 0) {
        return defaultSize;
    }
    
    CGSize labelSize = CGSizeZero;
    if ([text isKindOfClass:[NSString class]]) {
        labelSize = [text sizeWithFont:font constrainedToSize:aMaxSize lineBreakMode:UILineBreakModeWordWrap];
        if (labelSize.height < defaultSize.height) {
            labelSize.height = defaultSize.height;
        }
    }
    return labelSize;
}

其实主要是这句代码:

[text sizeWithFont:font constrainedToSize:aMaxSize lineBreakMode:UILineBreakModeWordWrap];

2、label尺寸不变,根据label的大小自动调整字体大小,代码如下:

myLabel.adjustsFontSizeToFitWidth = YES;
myLabel.minimumFontSize = 10.0;



    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android提高之多方向抽屉实现方法 iis7站长之家
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3