Попробуйте этот код ... и поместите ваше изображение и ваши потребности. этот код на значке панели инструментов и текст, а справа также значок поиска.
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
android:theme="@style/MyToolbar"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:titleTextAppearance="@style/MyToolbar">
<ImageView
android:id="@+id/headerIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_6sdp"
android:src="@drawable/ic_edit_location_black"
android:visibility="gone" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_6sdp">
<TextView
android:id="@+id/header"
style="@style/MyToolbar"
android:layout_width="wrap_content"
android:layout_height="?attr/actionBarSize"
android:gravity="center_vertical"
android:textColor="@color/primary"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/ivSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/_10sdp"
android:src="@drawable/search_icon"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout>
Существует два способа пойти об этом. Первое вовлекает использование Разъема В / шаблон Модуля. Запустите здесь для этого.
Второй путь состоит в том, чтобы просто выставить Вашу логику API посредством хорошо зарегистрированных блоков.
Путем Вы выбираете, действительно сводится к тому, как Вы хотите реализованный. Например, Adobe Photoshop использует сменный шаблон до большой степени. MS Office использует оба плагина, а также обеспечивает интерфейс объекта для работы с приложением.
ОБНОВЛЕНИЕ: Объекты в блоках .NET могут быть выставлены, чтобы быть использованными внешними приложениями просто путем установки объема объектов на Общественность. Это включает формы окон, бизнес-объекты, перечисление, и т.д.
Просто думайте об этом с точки зрения внешнего разработчика. Какую информацию они должны будут иметь, чтобы быть успешными при расширении / управление Вашим продуктом? Безотносительно то есть, помещает его в справочный файл.
Кроме того, используйте функции автодокументации .NET. Это включает добавление xml документация, IDE уже знает, как читать и отобразиться через intellisense. Например:
/// <summary>
/// Gets all active documents for the specified customer.
/// </summary>
/// <param name="customerId">The Id of the customer.</param>
/// <returns>A list of documents for this customer.</returns>
public static List<Document> GetDocuments(int customerId)
{
//... do something ...
}
Создайте класс API, который выставляет то, что функционирует, Вы хотите, чтобы у людей были доступ к и Регистр он для взаимодействующего с COM проекта-> свойства-> сборка-> Регистр для взаимодействующего с COM
"Выставьте приложение через общедоступный API", не подробное определение требования. Прежде, чем разработать что-либо, получите подробные требования.
Для API я рекомендую, чтобы Вы запустили с требований и затем продолжили двигаться к вариантам использования. Так как это - API, необходимо на самом деле написать некоторый код с помощью предложенного API, чтобы видеть, как это чувствует для программирования его. Код, который Вы пишете, должен касаться вариантов использования, с которых Вы запускаете. Вы могли бы даже написать тот код в модульных тестах, затем создать API посредством разработки через тестирование и рефакторинга.
Но так или иначе, так как варианты использования фокусируются о том, как пользователь будет использовать программное обеспечение, они помогут Вам сфокусироваться на том, какие части программного обеспечения пользователь использует непосредственно. Один вариант использования может использовать другого; но если пользователь непосредственно не использует конкретный вариант использования, то это - то, которое не должно быть выставлено публично.
Обратите внимание, что это также помогло мне в разработке веб-сервисов. Варианты использования, к которым непосредственно получает доступ пользователь, становятся операциями для представления через сервис. Любой вариант использования, который непосредственно не вызывает пользователь, останется скрытым как реализация.
Разработка общедоступного API зависит значительно от функциональности Вашей программы. Если Вы хотите выставить API, который доступен для других языков, веб-сервисы XML обычно способ сделать это. Это не может быть практично для приложения только для рабочего стола, как бы то ни было.