Название проекта: LabelView
Серия: адаптация и портирование третьих сторон для OpenHarmony
Функционал: добавление бейджей над кнопками, текстом и изображениями.
Статус портирования: завершен
Различия при вызове: отсутствуют
Версия SDK: 6, DevEco Studio 2.2 Beta1
Базовая версия: Release v1.1.2
allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
dependencies {
implementation('com.gitee.chinasoft_оhоs:labelview:1.0.0')
......
}
Проект можно запустить непосредственно в SDK 6 с использованием DevEco Studio 2.2 Beta1. Если проект не запускается, удалите файлы .gradle, .idea, build, gradle, build.gradle, создайте новый проект в соответствии со своей версией и скопируйте соответствующие файлы нового проекта в корневую директорию.
Добавьте XML-код в макет следующим образом:
<com.lid.lib.LabelButtonView
ohos:height="48vp"
ohos:width="200vp"
ohos:background_element="#03a9f4"
ohos:text="Кнопка"
ohos:text_color="#ffffff"
ohos:text_size="14vp"
app:label_backgroundColor="#C2185B"
app:label_distance="50"
app:label_height="70"
app:label_orientation="2"
app:label_text="HD"
app:label_textSize="30"
app:label_textStyle="0"/>
```LabelImageView
<com.lid.lib.LabelImageView
ohos:height="280vp"
ohos:width="0vp"
ohos:weight="1"
ohos:background_element="#fff"
ohos:image_src="$media:image1"
ohos:scale_mode="clip_center"
app:label_backgroundColor="#C2185B"
app:label_distance="125"
app:label_orientation="1"
app:label_height="90"
app:label_text="КИТАЙ"
app:label_textSize="40"
app:label_textStyle="2"/>
LabelTextView
<com.lid.lib.LabelTextView
ohos:height="48vp"
ohos:width="100vp"
ohos:background_element="#212121"
ohos:layout_alignment="horizontal_center"
ohos:text="TextView"
ohos:text_size="14vp"
ohos:text_alignment="center"
ohos:text_color="#ffffff"
ohos:top_margin="8vp"
app:label_backgroundColor="#C2185B"
app:label_distance="50"
app:label_orientation="1"
app:label_height="60"
app:label_text="ПОП"
app:label_textSize="27"
app:label_textStyle="2"/>
``````java
Если в пользовательском представлении требуется метка:
1. Создайте новый класс представления, расширяющий 'YourView'.
2. Используйте LabelViewHelper как ваш "внутренний объект".
3. Вызовите методы LabelViewHelper в конструкторе и функции onDraw().
4. Вызовите методы LabelViewHelper в других функциях.
```java
public class LabelXXXView extends YourView implements Component.DrawTask {
LabelViewHelper utils;
public LabelXXXView(Context context) {
this(context, null);
}
public LabelXXXView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public LabelXXXView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
utils = new LabelViewHelper(context, attrs, defStyleAttr);
}
@Override
protected void onDraw(Canvas canvas) {
utils.onDraw(canvas, getWidth() - getPaddingLeft() - getPaddingRight(),
getHeight() - getPaddingTop() - getPaddingBottom());
}
}
``````java
public void setLabelHeight(int height) {
utils.setLabelHeight(this, height);
}
public int getLabelHeight() {
return utils.getLabelHeight();
}
public void setLabelDistance(int distance) {
utils.setLabelDistance(this, distance);
}
public int getLabelDistance() {
return utils.getLabelDistance();
}
public boolean isLabelVisual() {
return utils.isLabelVisual();
}
public void setLabelVisual(boolean isEnable) {
utils.setLabelVisual(this, isEnable);
}
public int getLabelOrientation() {
return utils.getLabelOrientation();
}
public void setLabelOrientation(int orientation) {
utils.setLabelOrientation(this, orientation);
}
public Color getLabelTextColor() {
return utils.getLabelTextColor();
}
public void setLabelTextColor(Color textColor) {
utils.setLabelTextColor(this, textColor);
}
public Color getLabelBackgroundColor() {
return utils.getLabelBackgroundColor();
}
public void setLabelBackgroundColor(Color backgroundColor) {
utils.setLabelBackgroundColor(this, backgroundColor);
}
public String getLabelText() {
return utils.getLabelText();
}
public void setLabelText(String text) {
utils.setLabelText(this, text);
}
Код проверен CodeCheck без ошибок
Код проверен CloudTest без ошибок
Проверка безопасности от вирусов пройдена успешно
Текущий версионный демо-функционал практически не отличается от оригинального компонента
---
#### Версионирование
- 1.0.0
#### Информация о правах авторства и лицензиях
Copyright 2014 linger1216
Разрешено к использованию в соответствии с Лицензией Apache, Версия 2.0 ("Лицензия"); вы можете использовать этот файл только в рамках данной Лицензии. Вы можете получить копию Лицензии по адресу:
Если это предусмотрено действующим законодательством или явно согласовано в письменной форме,
программное обеспечение, распределённое в рамках данной Лицензии, предоставляется «как есть»;
БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ В КАЧЕСТВЕ, ЯВНО ИМПЛЮЧЕННЫХ ИЛИ НЕЯВНО.
См. Лицензию для получения конкретной информации о языке, регулирующем права использования и ограничения.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )