拡張ビュー

拡張ビュー

ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。

拡張ビューは、親ビューの動作と外観を継承しますが、両方を変更および追加できます。 これを行うには、カスタムビュークラスと新しいレイアウトXMLファイルを記述します。 拡張ビューは、スクリーンレット、リスナー、インタラクターなど、親ビューの他のすべてのクラスを継承します。 拡張ビューの親はフルビューである必要があります。

ここで説明する拡張ビューの例は、ログインスクリーンレットのデフォルトビューと同じUIコンポーネントを示していますが、パスワード強度の計算という機能を追加しています。 もちろん、パスワードの強度の計算に制限されるわけではありません。必要なものを実装できます。

  1. ビューのスクリーンレットとその使用目的にちなんだ名前の新しいレイアウトXMLファイルを作成します。 UIの構築を開始する良い方法は、親のレイアウトXMLファイルを複製し、テンプレートとして使用することです。 ログインスクリーンレットの拡張ビューの新しいレイアウトファイルは、ログインスクリーンレットのデフォルトビューレイアウトファイル login_default.xml 基づいており、パスワード強度計算を追加するため、 login_password.xmlと呼ばれます。

  2. 親Viewクラスを拡張する新しいカスタムViewクラスを作成します。 スクリーンレットと、追加またはオーバーライドする機能にちなんで名前を付けます。 サンプルのViewクラス LoginCheckPasswordView は、デフォルトビューの LoginView クラスを拡張し、 onClick メソッドをオーバーライドしてパスワードの強度を計算します。

    public class LoginCheckPasswordView extends LoginView {
    
        // parent's constructors go here...
    
        @Override
        public void onClick(View view) {
            // compute password strength
    
            if (passwordIsStrong) {
                super.onClick(view);
            }
            else {
                // Present user message
            }
        }
    
    }
    
  3. カスタムビューの完全修飾クラス名の後に、レイアウトXMLファイルのルート要素の名前を変更します。 たとえば、 login_password.xml ルート要素は com.your.package.LoginCheckPasswordViewです。

    <com.your.package.LoginCheckPasswordView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        ...
    
  4. 新しいレイアウトの名前を liferay:layoutId 属性の値として使用して、アクティビティまたはフラグメントのいずれかにビューのスクリーンレットを挿入します。 たとえば、新しい login_password レイアウトを使用するには、アクティビティまたはフラグメントに LoginScreenlet を挿入し、 liferay:layoutId = "@ layout / login_password"ます。

Bank of Westeros サンプルアプリの Westerosビューセット は、確認できる拡張ビューがいくつかあります。 ログインスクリーンレットのパスワードをクリアテキストで表示するための新しいボタンを追加する拡張ビューがあります。 ビューは、カスタムレイアウトファイル login_westeros.xml およびカスタムビュークラス LoginViewます。 Westerosビューセットには、ユーザーポートレートスクリーンレットの拡張ビューも含まれています。ユーザーのポートレート写真の境界線の色と幅を変更し、カスタムレイアウトファイル userportrait_westeros.xml とカスタムビュークラス UserPortraitViewます。

関連トピック

テーマ別のビュー

子ビュー

全景

ビューをパッケージ化する

« 子ビュー全景 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています