首页 文章 精选 留言 我的

精选列表

搜索[内容显示],共10008篇文章
优秀的个人博客,低调大师

UIWebView分页显示

問題:使用iOS UIWebView時,載入本地html檔案,但是該檔案太大,結果螢幕畫面形成一長條型顯示,雖然用滾動畫面可以看見整個html檔案,但是滑來滑去,不好用。 目標:用UIWebView載入html檔時,將html檔案切成一頁一頁,向左滑動螢幕可看下一頁,向右滑動螢幕可看下一頁。 做法:我用的是Xcode V4.2 Build 4C199, MAC OS X 10.6 (10K549) (1) 用File/New/New Project產生一個新專案, 選iOS/Application/Single View Application。下一個螢幕,Product Name:UIWebViewPage、Company Identifier:com.yourcompany、 Class Prefix:UIWebViewPage ,Device Family:iPhone,勾選 Use Automatic Reference Counting,其他均不勾選。下一個螢幕,不勾選 Source Control: Create local git repository for this project。完成後,有UIWebViewPageAppDelegate.h、UIWebViewPageAppDelegate.m、UIWebViewPageViewController.h、UIWebViewPageViewController.m、UIWebViewPageViewController.xib。 (2)點UIWebViewPageViewController.xib,Navigation Area及Debug Area中有File's Owner、First Responder、View三個圖標icon,點View,Debug Area出現代表View的框框,在Utility Area最下方鍵入UIWebView,出現WebView圖示,將WebView圖示拉到View的框框,讓它佔滿整個View,這時View框框成了UIWebView框框。 (3)點UIWebViewPageViewController.h,加入「@property (strong, nonatomic) IBoutlet UIWebView* webView;」及<UIScrollViewDelegate>,如下: @interface UIWebViewPageViewController : UIViewController <UIScrollViewDelegate> @property (strong, nonatomic) IBOutletUIWebView* webView; @end (4)點UIWebViewPageViewController.m,加入「@synthesize webView;」,如下: @implementation UIWebViewPageViewController @synthesize webView; (5)點UIWebViewPageViewController.xib,點Debug Area的File's Owner,點Utility Area/Show the Connections inspector,Outlets下有webView,點右方圓圈並拉到Debug Area的UIWebView框框,將instance variable webView連上.xib的UIWebViewPageViewControllerUIWebView。 (6)準備一個html檔,我使用2012-09-19.htm,將其拉入專案,注意用「copy」。請注意2012-09-19.htm檔內的css3,如下: <style> #swipe-horizontal{ font-size: 100%; -webkit-column-width:320px; height:440px; } </style> 說明:2012-09-19.htm檔內使用這一段css3可以讓滑動螢幕後,讓html檔一頁一頁地向左或向右滑入螢幕,主要的css3是「-webkit-column-width:320px;」這個設定column的css3將2012-09-19.htm橫向分頁。如果2012-09-19.htm檔內不使用這一段css3,滑動螢幕後,每一頁只會從上方或下方滑入螢幕。 (7)點UIWebViewPageViewController.m,修改viewDidLoad如下: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // 將htm檔載入UIWebView NSString *path; NSBundle *thisBundle = [NSBundle mainBundle]; path = [thisBundle pathForResource:@"2012-09-19" ofType:@"htm"]; // make a file: URL out of the path NSURL *instructionsURL = [NSURL fileURLWithPath:path]; [webView loadRequest:[NSURLRequest requestWithURL:instructionsURL]]; //for iOS 4.x pagination // 以下是針對iOS4.x做UIWebView分頁 // 「pagingEnabled = YES;」將html檔案切成一頁一頁需將每一個subview均pagingEnabled // 同時,不要反彈,「bounces = NO;」 // 同時,不要有橫向滑動軸,「showsHorizontalScrollIndicator = NO;」 // 同時,不要有直向滑動軸,「showsVerticalScrollIndicator = NO;」 for(id subview in webView.subviews) if ([[subview class] isSubclassOfClass:[UIScrollView class]]) { ((UIScrollView *)subview).pagingEnabled = YES; ((UIScrollView *)subview).bounces = NO; ((UIScrollView *)subview).showsHorizontalScrollIndicator = NO; ((UIScrollView *)subview).showsVerticalScrollIndicator = NO; break; } // for iOS 5.0 pagination // 以下是針對iOS5做UIWebView分頁,iOS5在UIWebView下有scrollView,所以不需要再對所有subview設定 // 可以試試將上段iOS4.x部份註解comment掉並用以下這一段 /* self.webView.scrollView.pagingEnabled = YES; self.webView.scrollView.bounces = NO; self.webView.scrollView.showsHorizontalScrollIndicator = NO; self.webView.scrollView.showsVerticalScrollIndicator = NO; */ } 說明:閱讀以上這一段程式碼的註解部份,即可了解viewDidLoad有兩大部份: 將htm檔載入UIWebView:從「NSString *path;」到「[webView loadRequest:[NSURLRequestrequestWithURL:instructionsURL]];」,這一段程式是將htm檔載入UIWebView的標準作法。基本上是先設定path(用NSBundle)、NSURL,再用[webView loadRequest:...]將.htm檔載入webView。 做UIWebView分頁:針對iOS4.x及iOS5不同,現針對iOS4.x說明:「for(id subview in webView.subviews)」及「if ([[subview class] isSubclassOfClass:[UIScrollView class]])」是在找到webView所有屬於UIScrollView class的subview,並將其pagingEnabled=YES,其他「bounces = NO;」、「showsHorizontalScrollIndicator = NO;」、「showsVerticalScrollIndicator = NO;」設定不要反彈、不要有橫向滑動軸、不要有直向滑動軸只是讓螢幕好看–些。iOS5因UIWebView有scrollView,故簡化很多,只要設定self.webView.scrollView的pagingEnabled=YES、showsHorizontalScrollIndicator = NO、showsVerticalScrollIndicator = NO即可。 結論:Paginate html file in UIWebView 、 UIWebView分頁看起來十分困難,其實,只有一行,iOS4.x:「((UIScrollView *)subview).pagingEnabled = YES;」,iOS5:「self.webView.scrollView.pagingEnabled = YES;」。這時,每一頁只會從上方或下方滑入螢幕,因此,2012-09-19.htm檔內需使用一段css3,主要是「-webkit-column-width:320px;」這個設定column的css3,將2012-09-19.htm橫向分頁。 欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 572064792 | Nodejs:329118122 做人要厚道,转载请注明出处! 本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sunshine-anycall/p/3352218.html ,如需转载请自行联系原作者

优秀的个人博客,低调大师

html--表格高亮显示

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript"> function changeColor(id,flag){ if(flag=="over"){ document.getElementById(id).style.backgroundColor="red"; }else if(flag=="out"){ document.getElementById(id).style.backgroundColor="white"; } } </script> </head> <body> <table border="1px" width="100px" height="100px" align="center"> <thead> <tr onmouseover="changeColor('t1','over')" onmouseout="changeColor('t1','out')" id="t1"> <th>d</th> <th>dx</th> </tr> </thead> <tbody> <tr onmouseover="changeColor('t2','over')" onmouseout="changeColor('t2','out')" id="t2"> <td>s1</td> <td>s2</td> </tr> <<tr onmouseover="changeColor('t3','over')" onmouseout="changeColor('t3','out')" id="t3"> <td>s3</td> <td>s4</td> </tr> </tbody> <table> </body> </html>

优秀的个人博客,低调大师

Android TextView中显示图片

Android官方给我们提供的Html类下面的fromHtml方法 当你需要转换的HTML代码是带图片的,比如<IMG/>,那么你就需要使用到重载的第二个方法了,这个方法里面有个ImageGetter对象,实现这个类会发现它回调了一个抽象getDrawable方法,在这个方法里,我们可以进行远程图片的下载获取,本地资源图片的获取等。第三个参数TagHandler是用来自定义一些不属于HTML代码的一些标签,一般我们不会去用到,直接置为null即可 package com.example.mytestdemo; import java.lang.reflect.Field; import android.app.Activity; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.Html; import android.text.Html.ImageGetter; import android.widget.TextView; public class MainActivity extends Activity { private TextView mTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTextView = (TextView) findViewById(R.id.tv_1); String html = "<img src='liuhan'/>天气好热。。<p/><img src='haha'/>没关系,我有空调!"; CharSequence charSequence = Html.fromHtml(html, new ImageGetter() { @Override public Drawable getDrawable(String source) { //根据资源变量名称获取R资源Id,再根据资源Id获取到Drawable对象 Drawable drawable = getResources().getDrawable(getResourceId(source));//如果为网络src图片,则需要另写方法从网络中加载获得drawable图片 //对图片进行压缩(此处我采用原图) drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); return drawable; } }, null); //设置文本信息 mTextView.setText(charSequence); } /** * 根据资源文件的变量名返回资源文件的文件ID * @param name * @return */ public int getResourceId(String name) { try { //利用Java反射机制获取R资源Id Field field = R.drawable.class.getField(name); return Integer.parseInt(field.get(null).toString()); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } return 0; } } //根据url转Drawable InputStream is = (InputStream) new URL(source).getContent(); Drawable d = Drawable.createFromStream(is, "src"); is.close(); 可以利用Drawable下的setBounds方法对图片进行压缩 参考:http://www.cnblogs.com/lichenwei/p/4612079.html 本文转自欢醉博客园博客,原文链接http://www.cnblogs.com/zhangs1986/p/4738585.html如需转载请自行联系原作者 欢醉

优秀的个人博客,低调大师

EditText 显示明文和密码

1、效果图 2、布局文件 <?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="wifi.app.wei.com.myapplication.MainActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/eye_close" android:layout_alignParentRight="true" android:layout_centerVertical="true" /> <EditText android:id="@+id/pass_et" android:layout_toLeftOf="@id/image" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" /> </RelativeLayout> </RelativeLayout> 3、代码实现(方式一) package wifi.app.wei.com.myapplication; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.InputType; import android.view.View; import android.widget.EditText; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { private ImageView imageView ; private EditText editText ; boolean eyeOpen = false ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main ); imageView = (ImageView) findViewById( R.id.image) ; editText = (EditText) findViewById( R.id.pass_et); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if ( eyeOpen ){ //密码 TYPE_CLASS_TEXT 和 TYPE_TEXT_VARIATION_PASSWORD 必须一起使用 editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); imageView.setImageResource( R.mipmap.eye_close ); eyeOpen = false ; }else { //明文 editText.setInputType( InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD ); imageView.setImageResource( R.mipmap.eye_open ); eyeOpen = true ; } } }); } } 4、代码实现(方式二) package wifi.app.wei.com.myapplication; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.method.HideReturnsTransformationMethod; import android.text.method.PasswordTransformationMethod; import android.view.View; import android.widget.EditText; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { private ImageView imageView ; private EditText editText ; boolean eyeOpen = false ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main ); imageView = (ImageView) findViewById( R.id.image) ; editText = (EditText) findViewById( R.id.pass_et); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if ( eyeOpen ){ //密码 editText.setTransformationMethod(PasswordTransformationMethod.getInstance()); imageView.setImageResource( R.mipmap.eye_close ); eyeOpen = false ; }else { //明文 editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); imageView.setImageResource( R.mipmap.eye_open ); eyeOpen = true ; } } }); } }

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册