Я не могу редактировать дизайн своего приложения для Android TV с помощью Android Studio - PullRequest
0 голосов
/ 22 декабря 2019

Я создаю новый проект для Android TV. У меня нет написанного кода. Я не могу изменить дизайн приложения

error message: unknown fragment

подробнее об ошибке:

A <fragment> tag allows a layout file to dynamically include different layouts at runtime. At layout editing time the specific layout to be used is not known. You can choose which layout you would like previewed while editing the layout.

Изображение ошибки

enter image description here

xml код:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_browse_fragment"
    android:name="com.example.milchycompany.myapplication.MainFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:deviceIds="tv"
    tools:ignore="MergeRootFrame" />

код MainActivity

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }
}

Помогите, пожалуйста, чтобы иметь возможность создать мое первое приложение для Android TV

1 Ответ

1 голос
/ 23 декабря 2019

Я предполагаю, что ваш com.example.milchycompany.myapplication.MainFragment продолжается от BrowseFragment. Этот фрагмент динамически включает в себя макеты, которые являются частью библиотеки Leanback, такие как R.layout.lb_browse_fragment, а также адаптеры для программного создания других макетов. Из-за этого он не предназначен для редактирования в редакторе макетов. Вместо этого вы должны вызывать различные сеттеры для настройки пользовательского интерфейса, такие как

setTitle(getString(R.string.browse_title));

и

setBrandColor(ContextCompat.getColor(requireContext(), R.color.your_brand_color));

Если ваш MainFragment не выходит из BrowseFragment, то вы должны открыть его и увидетькакой макет задается в его методе onCreateView, и вместо этого измените этот макет.

...