androidで未だに、縦横斜めスクロールするViewって未だに実装されていない?
軽く調べたけど、
HorizontalScrollView(横)とScrollView(縦)を利用すれば出来そうだけど、
斜めには出来ないとか書いてあった。
未だに、自前で実装する必要があるのかな?
そもそも需要が無いから実装されていないのか・・・。
日曜プログラムでもしてみて、できたら公開でもしてみようか・・・。
構造としては、
自作したScrollViewの子の要素にViewGroupを一つ入れて、
動くようにする。既存のScrollViewと同じような感覚のものでも・・・。
頭のなかでは、まとまっているのだが、後はコードに落としこむだけ。
って言うか、
ScrollView に対して、HorizontalScrollView をmergeすればよくね?
と思っている。
ScrollViewとHorizontalScrollViewはOpen Sourceなので公開されているから、
参考に出来そう。
もし、需要があれば作成したいと思います。
アクセス数や+1によって検討かな。
Git hubのaccountもあるし、そっち側で公開でもいいかな。
技術的な知見や日々の記録、日常の些細な変化などを綴る雑記ブログです。専門的な技術解説から日記のようなライトな話題まで、特定のジャンルに縛られず、気になったことや面白いと感じた出来事を幅広く発信しています。筆者の視点で切り取った多様なコンテンツが楽しめる、自由な雑記空間を目指しています。
【Android】でPDF作成と表示:PdfDocumentとPdfRenderer編 (Java版)
今更になってしまいますが、
android API レベル 19 からPDFの操作が可能になっていたようです。
インポートするのは 「android.graphics.pdf」になります。
この中にある、PdfDocument やPdfRenderer などのクラスを利用すれば、
生成や表示関連ができそうです。
iOSは大分前からあったので、よかったのですが、
今までandroidは別途ライブラリを利用して、表示したり、生成していました。
APIレベルが19以上なので、OS 4.4 以上となりますが、
2016年頃には4.4または、5.X以上が主流となっているはずなので、
覚えていた方が良いかと思います。
動作を確かめたわけではないですが、
妄想で作成するコード書いてみた。
PdfDocument document = new PdfDocument();
PageInfo pageInfo = new PageInfo.Builder(100, 100, 1).create();
Page page = document.startPage(pageInfo);
Canvas c = page.getCanvas();
// 好きな内容を書く
c.drawText("aaa", 0, 3, 0, 0, new Paint());
document.finishPage(page);
File file = new File("保存先");
OutputStream out = null;
try {
out = new BufferedOutputStream(new FileOutputStream(file));
document.writeTo(out);
document.close();
} catch (IOException e) {
e.printStackTrace();
}
こんな感じでいけるかな?
2024/06/10 追記
もう少し見やすいように書いてみた
android API レベル 19 からPDFの操作が可能になっていたようです。
インポートするのは 「android.graphics.pdf」になります。
この中にある、PdfDocument やPdfRenderer などのクラスを利用すれば、
生成や表示関連ができそうです。
iOSは大分前からあったので、よかったのですが、
今までandroidは別途ライブラリを利用して、表示したり、生成していました。
APIレベルが19以上なので、OS 4.4 以上となりますが、
2016年頃には4.4または、5.X以上が主流となっているはずなので、
覚えていた方が良いかと思います。
動作を確かめたわけではないですが、
妄想で作成するコード書いてみた。
PdfDocument document = new PdfDocument();
PageInfo pageInfo = new PageInfo.Builder(100, 100, 1).create();
Page page = document.startPage(pageInfo);
Canvas c = page.getCanvas();
// 好きな内容を書く
c.drawText("aaa", 0, 3, 0, 0, new Paint());
document.finishPage(page);
File file = new File("保存先");
OutputStream out = null;
try {
out = new BufferedOutputStream(new FileOutputStream(file));
document.writeTo(out);
document.close();
} catch (IOException e) {
e.printStackTrace();
}
こんな感じでいけるかな?
2024/06/10 追記
もう少し見やすいように書いてみた
public class PdfCreator {
public static void createPdf(String filePath) {
// PDFドキュメントの作成
PdfDocument document = new PdfDocument();
// ページ情報の設定 (幅: 100, 高さ: 100, ページ番号: 1)
PageInfo pageInfo = new PageInfo.Builder(100, 100, 1).create();
// ページの開始
Page page = document.startPage(pageInfo);
// キャンバスの取得
Canvas canvas = page.getCanvas();
// ペイントの設定
Paint paint = new Paint();
// テキストの描画 (x座標: 0, y座標: 3)
canvas.drawText("aaa", 0, 3, paint);
// ページの終了
document.finishPage(page);
// ファイルの保存
File file = new File(filePath);
try (OutputStream out = new BufferedOutputStream(new FileOutputStream(file))) {
document.writeTo(out);
} catch (IOException e) {
e.printStackTrace();
} finally {
// ドキュメントのクローズ
document.close();
}
}
}
【iOS】UIWebViewからWKWebViewに簡単に移行はできるのか?
iOSの開発をおこなっていると、
多々webviewを利用する機会があると思います。
某ソシャゲーとかは、側やメニュー等はネイティブで作成して、
メインのコンテンツ部分はhtmlで表示していたりしていますよね。
最近iOS8にUIWebViewでは無く、WKWebViewなる物が実装されたとの事。
これは!と思い。
WKWebViewを見る限りだと、内部の表示する為のエンジンが違うので、
JSの実行速度とかが高性能になっているとか、かなり良い事をいっぱい書いて有りました。
今後はiOS7までは、UIWebViewで
iOS8からはWKWebViewに変更した処理でやればより、
快適に動くのではないかと思うんです。
しかしながら、ネット上を調べると、単純に置き換えるだけでは利用が出来ないとの事。
そもそも、XIBやStoryboardには対応していないらしく、コードでしっかりと記載しないと行けなかったり。
ページ内のlink関連で <a> tag関連の処理が変わっていたり、
tmp内のローカルファイルのpathを参照する際に
file:/// では読み込めない用な記載を見かけました。
2016/12/21 追記
※ tmpに保存しないとhtml読み込めないようです。
※ <a>に _blankが設定されているとエラーが返って来るようです。
ですので、単純に置き換えだけでなく、コードの修正やヘタをすればhtml側の修正しないと行けないかもしれません。
まぁ、実際にコードを書いて検証したのではないので、なんとも言えませんが、
今後、対応することになったら、感想とかを書いて見ようかと思います。
iOS 10 ぐらいには、UIWebViewがduplicateとかになるのかな?
2018/07/13 追記
結構コンスタンスにアクセスしているようなのですが、この記事は有力なのだろうか・・・。
2019/05/20 追記
もう、UIWebViewがduplicate になってますね〜。
皆さんWKWebViewでやるの必須ですよ。
2019/10/01 追記
iOS のサポートが 12まで表記ですね。
2019/10/04 追記
Xcode 11 でビルドするとWKWebViewが動かない事があります。
表示はできるが遷移ができなくなっている。
Xcode 10 だと大丈夫だったのに。。。
Security関連で、ローカルファイルの参照ができなくなったと思われます。
2020年04月 以降は、Xcode 11 必須だしどうしたものか・・・。
2020/04/15 追記
Appleから Xcode 11 必須は 6月へ延期になったようです。
2020/05/15 追記
多々webviewを利用する機会があると思います。
某ソシャゲーとかは、側やメニュー等はネイティブで作成して、
メインのコンテンツ部分はhtmlで表示していたりしていますよね。
最近iOS8にUIWebViewでは無く、WKWebViewなる物が実装されたとの事。
これは!と思い。
WKWebViewを見る限りだと、内部の表示する為のエンジンが違うので、
JSの実行速度とかが高性能になっているとか、かなり良い事をいっぱい書いて有りました。
今後はiOS7までは、UIWebViewで
iOS8からはWKWebViewに変更した処理でやればより、
快適に動くのではないかと思うんです。
しかしながら、ネット上を調べると、単純に置き換えるだけでは利用が出来ないとの事。
そもそも、XIBやStoryboardには対応していないらしく、コードでしっかりと記載しないと行けなかったり。
ページ内のlink関連で <a> tag関連の処理が変わっていたり、
tmp内のローカルファイルのpathを参照する際に
file:/// では読み込めない用な記載を見かけました。
2016/12/21 追記
※ tmpに保存しないとhtml読み込めないようです。
※ <a>に _blankが設定されているとエラーが返って来るようです。
ですので、単純に置き換えだけでなく、コードの修正やヘタをすればhtml側の修正しないと行けないかもしれません。
まぁ、実際にコードを書いて検証したのではないので、なんとも言えませんが、
今後、対応することになったら、感想とかを書いて見ようかと思います。
iOS 10 ぐらいには、UIWebViewがduplicateとかになるのかな?
2018/07/13 追記
結構コンスタンスにアクセスしているようなのですが、この記事は有力なのだろうか・・・。
2019/05/20 追記
もう、UIWebViewがduplicate になってますね〜。
皆さんWKWebViewでやるの必須ですよ。
2019/10/01 追記
iOS のサポートが 12まで表記ですね。
SDKs iOS 2.0–12.0 と記載されてます。
そろそろ、やばいですよ。2019/10/04 追記
Xcode 11 でビルドするとWKWebViewが動かない事があります。
表示はできるが遷移ができなくなっている。
Xcode 10 だと大丈夫だったのに。。。
Security関連で、ローカルファイルの参照ができなくなったと思われます。
2020年04月 以降は、Xcode 11 必須だしどうしたものか・・・。
2020/04/15 追記
Appleから Xcode 11 必須は 6月へ延期になったようです。
2020/05/15 追記
最近のXcode10 ?以上は Storyboard 上からでもWKWebView 設置できるようです。
2020/09/15 追記
公開済みのアプリでUIWebViewが含まれているアプリの審査(更新)可能なのは
2020/09/15 追記
公開済みのアプリでUIWebViewが含まれているアプリの審査(更新)可能なのは
12月までのようです。それ以降はリジェクト
新規のアプリはすでに受付停止
あえて言う、UIWebViewはもう使うな。WKWebViewを使うんだ。
【android】androidのOS別のやつです。
公式から4月に公開されれたようです。androidのOS別のやつです。
| Version | Codename | API | Distribution |
|---|---|---|---|
| 2.2 | Froyo | 8 | 0.4% |
| 2.3.3 - 2.3.7 | Gingerbread | 10 | 6.4% |
| 4.0.3 - 4.0.4 | Ice Cream Sandwich | 15 | 5.7% |
| 4.1.x | Jelly Bean | 16 | 16.5% |
| 4.2.x | 17 | 18.6% | |
| 4.3 | 18 | 5.6% | |
| 4.4 | KitKat | 19 | 41.4% |
| 5.0 | Lollipop | 21 | 5.0% |
| 5.1 | 22 | 0.4% |
もう、4.0.3も切り捨ててもいいかなぁ。
登録:
コメント (Atom)