Добавление Рельефного к UILabel в navigationItem.titleView (как замечено с navigationItem.title)

Пикассо

Для использования Пикассо выполните следующие действия:

Шаг 1

Добавьте эти зависимости в Gradle:

repositories {
    jcenter()
}

dependencies {
    compile 'jp.wasabeef:picasso-transformations:2.2.1'
    // If you want to use the GPU Filters
    compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
}

Шаг 2

Установите преобразование Пикассо:

Picasso.get()
       .load(currentEvent.posterDownloadPath)
       .transform(new BlurTransformation(mContext, 25, 1))
       .into(recommendedEventViewHolder.blurryImageView);

в kotlin следующим образом:

Picasso.get()
           .load(currentEvent.posterDownloadPath)
           .transform(BlurTransformation(mContext, 25, 1))
           .into(recommendedEventViewHolder.blurryImageView)

Также вы можете использовать Blurry . Blurry - это простая библиотека размытия для Android. Но я предлагаю Фреско . Fresco - это мощная система отображения изображений в приложениях для Android.

Fresco

Для использования Fresco выполните следующие действия:

Шаг 1: Создайте проект Android и добавьте Зависимость библиотеки fresco от build.gradle модуля и проекта синхронизации.

dependencies {
implementation 'com.facebook.fresco:fresco:1.13.0'
implementation 'jp.wasabeef:fresco-processors:2.1.0'
}

Шаг 2: Инициализируйте фреску в методе onCreate () MainActivity.java или Application.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //initialize fresco
    Fresco.initialize(this);
    setContentView(R.layout.activity_main);

}

Шаг 3: Внутри your activity_main.xml добавить SimpleDraweeView, который предоставляется библиотекой Fresco.


Шаг 4: Прежде чем писать код для размытия изображения, вы должны позаботиться о трех основных классах.

i.Postprocessor: - Определите качество размытия для вашего изображения.

ii.ImageRequest: -Создать запрос для контроллера с использованием экземпляра Postprocessor.

iii.PipelineDraweeController: -Подготовить контроллер для просмотра с использованием экземпляра ImageRequest и SimpleDraweeView.

Шаг 5: Внутри вашего основного класса деятельности создайте экземпляр BlurPostprocessor с контекстом и радиусом, где радиус относится к проценту размытости вашего изображения.

Postprocessor postprocessor = new BlurPostprocessor(this,50);

Шаг 6: Класс ImageRequest Создайте запрос изображения со свойством размытия, удерживаемым экземпляром Postprocessor.

 ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse("image url"))
        .setPostprocessor(postprocessor)
        .build();

Шаг 7: Создайте новый экземпляр PipelineDraweeController, используя imagerequest и старый simpleDraweeView.

controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
        .setImageRequest(imageRequest)
        .setOldController(simpleDraweeView.getController())
        .build();

Шаг 8: Передать контроллер в simpleDraweeView.

simpleDraweeView.setController(controller);

Вот и все, теперь создайте и запустите приложение.

Наслаждайся этим:)

5
задан Sahil 15 April 2009 в 21:31
поделиться

3 ответа

Да, спасибо! Я только что понял:

где postTitle установлен на белый цвет, я просто добавил тень darkGray с вертикальным смещением 1px.

[postTitle setShadowColor: [UIColor darkGrayColor]];

[postTitle setShadowOffset: CGSizeMake (0, -1)];

Выглядит точно так же, как все, что вы положили бы в .title:)

16
ответ дан 18 December 2019 в 07:10
поделиться

shadow и shadowOffset - это то, что вы ищете, я думаю. Установите эти свойства на ярлыке, и он должен делать то, что вы хотите.

5
ответ дан 18 December 2019 в 07:10
поделиться

Белая тень и плюс один вместо минус одного в качестве смещения придают рельефный вид.

1
ответ дан 18 December 2019 в 07:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: