Как создать XML-файл, как это, используя XML-документ? - PullRequest
0 голосов
/ 20 октября 2018

По сути, я хочу добавить свои пользовательские атрибуты в виде текста по умолчанию в Android с помощью Create XML-файла, подобного этому. Как я могу создать свой собственный XML-документ, подобный этому?как

<TextView
android:id="@+id/textView16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"`enter code here`
android:text="TextView"
customfontdemo:fontName="Anything"
tools:layout_editor_absoluteX="163dp"
tools:layout_editor_absoluteY="166dp" />

так вот мой настраиваемый атрибут # fontName я хочу добавить свой настраиваемый атрибут в компоненты пользовательского интерфейса по умолчанию, как я могу это сделать ??и прочитайте его в файле .kt

1 Ответ

0 голосов
/ 25 октября 2018

Если я вас правильно понимаю, вы захотите использовать настраиваемые атрибуты в существующих представлениях.

Для этого вам нужно будет «перехватить» процесс инфляции.Для этого вы реализуете собственный LayoutInflator.factory или factory2, если нацеливаетесь на api 11+ (Примечание: команде разработчиков Android нужно научиться называть вещи)

фабрика представляет собой интерфейс, содержащийfunction

View onCreateView(View parent, String name, Context context, AttributeSet attrs)

Вот полный интерфейс, взятый из исходного кода

 public interface Factory2 extends Factory {
    /**
     * Version of {@link #onCreateView(String, Context, AttributeSet)}
     * that also supplies the parent that the view created view will be
     * placed in.
     *
     * @param parent The parent that the created view will be placed
     * in; <em>note that this may be null</em>.
     * @param name Tag name to be inflated.
     * @param context The context the view is being created in.
     * @param attrs Inflation attributes as specified in XML file.
     *
     * @return View Newly created view. Return null for the default
     *         behavior.
     */
    public View onCreateView(View parent, String name, Context context, AttributeSet attrs);
}

Посмотрите этот учебник , чтобы помочь вам реализовать фабрику.После внедрения фабрики вы можете заменить

Деятельности

setContentView(View)

Фрагмент / простые типы инфляции

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