div

divタグは、文章をブロック要素としてまとめる。

<div> - ブロック要素 - とほほのWWW入門
<DIV>^OÆ<P>^O

pタグとの違いがちょっと難しい。

こう書いた時、

1行分空かない
1行分空かない

表面的には、1行分空かないぐらいの違いしかない。
他にも違いはいろいろあるのだが、なんともわかりにくい。

Sample/html/div/div/src/div at master · bg1bgst333/Sample · GitHub

p

pタグは段落を表す。

<p> - 段落 - とほほのWWW入門

1つの<p>~</p>で1行を表すような感じ。

とすると、

こうなる
こうなる

こうなる。
<p>~</p>と<p>~</p>の間は1行分空いている。
基本的に改行だけなら空白に置き換わるので、表示時には改行されずに半角1文字空く。
(ただ、1行で表示しきれない長い場合は、空白のところが改行された。)
中で<br />を使った場合は普通に改行される。ただし、1行分空くことはない。

Sample/html/p/p/src/p at master · bg1bgst333/Sample · GitHub

img

imgタグで画像を表示する。

<img> - イメージ - とほほのWWW入門

あらかじめ画像image1.pngを用意しておいて、

こう書いて、

$ vi img.html
$ cat img.html
<html>
  <head>
    <title>img</title>
  </head>
  <body>
    <img src="image1.png" />
  </body>
</html>
$ ls
image1.png  img.html
$ cp img.html image1.png /var/www/html/
$

/var/www/htmlに配置。

表示された
表示された

表示された。

Sample/html/img/img/src/img at master · bg1bgst333/Sample · GitHub

a

aタグでハイパーリンクを張る。

<a> - リンクする - とほほのWWW入門

href属性にURL、タグの中の値はリンクとなるテキスト。

こう書くと、

このように表示されて、マウスオーバーでリンク先もわかる。
このように表示されて、マウスオーバーでリンク先もわかる。

このように表示されて、マウスオーバーでリンク先もわかる。
リンクをクリックすると、

当然、そこに飛ぶ。
当然、そこに飛ぶ。

当然、そこに飛ぶ。

Sample/html/a/a/src/a at master · bg1bgst333/Sample · GitHub

DOCTYPE

<!DOCTYPE>は、正式にはHTMLタグではないらしい。
ドキュメントタイプ宣言というもので、HTMLのバージョンを表している。

<!DOCTYPE> - ドキュメントタイプ - とほほのWWW入門

まず、

$ vi DOCTYPE.html
$ cat DOCTYPE.html
<html>
  <head>
    <title>!DOCTYPE</title>
  </head>
  <body>
    !DOCTYPE
  </body>
</html>
$ 

何も付けない。
IE11の開発者ツール(F12)を起動すると、

指定する必要があるとの警告
指定する必要があるとの警告

指定する必要があるとの警告。

$ vi DOCTYPE.html
$ cat DOCTYPE.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title>!DOCTYPE</title>
  </head>
  <body>
    !DOCTYPE
  </body>
</html>
$

HTML4.01以前の指定。

まあHTML5ではないからね。
まあHTML5ではないからね。

まあHTML5ではないからね。

この形式なら、

HTML5なので警告は消える
HTML5なので警告は消える

HTML5なので警告は消える。

Sample/html/DOCTYPE/DOCTYPE/src/DOCTYPE at master · bg1bgst333/Sample · GitHub

RecyclerView.Adapter

RecyclerViewで、リスト表示して、スクロール連携するには、ViewHolderとAdapterが必要。

RecyclerView.Adapter  |  Android Developers
Androidのマテリアルデザイン ~リサイクラービュー~ (3/3):CodeZine(コードジン)

まず、ViewHolder。

RecyclerView.ViewHolderから継承して、今回はTextViewは1つでいい。
今回は、コンストラクタで既定のandroid.R.id.text1からview.findViewByIdで取得したTextViewを自身のメンバmtvNameに格納する。
次に、CustomAdapter。

RecyclerView.Adapter<CustomViewHolder>から継承。
ListのアイテムはStringで。
onCreateViewHolderで、既定のandroid.R.layout.simple_list_item_1からinflater.inflateしてviewを作成。
CustomViewHolderのコンストラクタに渡して、customViewHolder自身を返す。
onBindViewHolderで、アイテムであるStringなitemを取得し、holder.mtvNameにセット。
ということで、今回は独自なレイアウトはなし。
MainActivity.javaは、

linearLayoutManagerを生成し、recyclerview1.setLayoutManagerでセットしないと、リスト形式にならないし、そもそも表示がされない。

起動時
起動時

起動時。

下に行くと小さくなる
下に行くと小さくなる

下に行くと小さくなる。

ここで止まる
ここで止まる

ここで止まる。

戻せばまた大きく
戻せばまた大きく

戻せばまた大きく、

先頭に戻ると、この大きさに戻る
先頭に戻ると、この大きさに戻る

先頭に戻ると、この大きさに戻る。

Sample/android/RecyclerView.Adapter/RecyclerView.Adapter/RecyclerView.Adapter_ at master · bg1bgst333/Sample · GitHub

RecyclerView

RecyclerViewは、Toolbarのスクロール連動など、マテリアルな動きに対応した、リストビューに代わるビュー。

RecyclerView  |  Android Developers
Androidのマテリアルデザイン ~リサイクラービュー~ (1/3):CodeZine(コードジン)

strings.xmlは、

あのlongなtextはもう無い。
activity_main.xmlは、

NestedScrollViewを配置していたところに、今回はRecyclerViewを配置。
MainActivity.javaは、

今回は、配置したRecyclerViewをfindViewByIdで取得して、存在を確認するだけ。

確かに存在する
確かに存在する

確かに存在する。

Sample/android/RecyclerView/RecyclerView/RecyclerView_ at master · bg1bgst333/Sample · GitHub