1

カスタム スタイルを作成しました。

<style name="Static">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_marginEnd">5dp</item>
</style>

次に、静的関数で anko を拡張しました。

inline fun ViewManager.static(theme: Int = R.style.Static, init: TextView.() -> Unit) = ankoView(::TextView, theme, init)

これをレイアウトで使用すると:

static { text = resources.getString(R.string.name) }

marginEnd 値は無視されます。

anko で手動で余白を追加すると:

static { text = resources.getString(R.string.name) }.lparams { marginEnd = dip(5) }

マージンは問題ありません。

anko が私のマージン値を無視している、または拡張ビュー anko 関数の事前定義されたマージンを定義する他の方法を無視しているということが起こっていることを皆さんは知っていますか?

4

2 に答える 2