Android просмотр привязки root свойство игнорируется - PullRequest
1 голос
/ 02 апреля 2020

Я пытаюсь использовать View Binding в android, но свойство root (layout_gravity, layout_width) было проигнорировано после сборки и установлено,

выглядит нормально в режиме конструктора (wrap_content и center_vertical).

я включил viewBinding в приложении gradle (android studio 3.6.1), и моя root группа просмотра представляет собой LinearLayout с некоторым свойством

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:orientation="vertical"
    tools:context=".MainActivity">
...
class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
    }
}

и если я изменю layout_gravity на center или другое значение, он получит unresolved reference: ActivityMainBinding в MainActivity

, если я не должен использовать свойство root макет?

1 Ответ

0 голосов
/ 03 апреля 2020

, поэтому я переключился на привязку данных вместо viewBinding

class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
    }
}
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <LinearLayout
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...