ネイティブアンドロイドウィジェットでViewStubを拡張することは可能ですか?例えばネイティブウィジェットを含むViewStubを膨張させる
:
<LinearLayout...>
<TextView...>
<TextView...>
<ViewStub...>
</LinearLayout>
は、私がスイッチまたはチェックボックスを膨らませる/ ViewStubを交換したいです。それは可能ですか?
ネイティブアンドロイドウィジェットでViewStubを拡張することは可能ですか?例えばネイティブウィジェットを含むViewStubを膨張させる
:
<LinearLayout...>
<TextView...>
<TextView...>
<ViewStub...>
</LinearLayout>
は、私がスイッチまたはチェックボックスを膨らませる/ ViewStubを交換したいです。それは可能ですか?
いずれかViewStub
に膨らませるレイアウトを設定するには:
<ViewStub
android:id="@+id/stub"
android:inflatedId="@+id/myLayout"
android:layout="@layout/myLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
または、実行時にレイアウトを設定します:XMLを介したレイアウトを設定
その後
viewStub.setLayoutResource(R.layout.myLayout);
を、あなたにViewStub
を膨らませることができます。
View inflatedView = viewStub.inflate();
あなたは(あなたが尋ねたとして)、などSwitch
やCheckbox
がクリックされたい場所からこのinflate()
メソッドを呼び出すことができます。
ネイティブのアンドロイドスイッチウィジェットを拡張するには、どのレイアウトリソースを設定する必要がありますか? – Vas
スイッチウィジェットを含むレイアウトファイルを作成します。次に、そのレイアウトリソースを拡張します。 –
現在、StubView
をView
オブジェクトに置き換える方法はありません。置換するビューを表すレイアウトを作成する必要があります。あなたは、単一のCheckBox
でそれを切り替えたいのであれば、たとえば、あなたはあなたができる膨張したビューへの参照が必要な場合は、この
<?xml version="1.0" encoding="utf-8"?>
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_checkbox"
android:text="Click me"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
が続い
viewStub.setLayoutResource(R.layout.my_checkbox);
viewStub.inflate();
を呼び出すようなレイアウトを作成する必要がありますこれを代わりに使用してください
CheckBox checkInflated = (CheckBox)viewStub.inflate();
ここをお読みになりましたか? https://stackoverflow.com/a/37442268/2910520、必要なものは同じものです – MatPag
はい、私はしました。これは、私が膨らませようとしているレイアウトがネイティブアンドロイドウィジェットのためのものと全く同じではありません。私はそれのための明示的なレイアウトを持っていません。 – Vas
あなたは膨らませたいものを表す新しいレイアウトを作成する必要があります。現在、StubViewでViewオブジェクトを拡張する方法はありません – MatPag