настраиваемое неопределенное масштабирование - PullRequest
3 голосов
/ 09 ноября 2011

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

enter image description here

Я хочу, чтобы он был вертикальномасштабируется так, чтобы он выглядел как традиционная полоска неопределенного индикатора неопределенности.Причина, по которой мне нужно, чтобы он был масштабируемым, заключается в том, что область, которую он будет покрывать, будет взвешенной, поэтому у меня не может быть статического размера.

Установка минимальной высоты, кажется, ничего не меняет.Замена вытягиваемых элементов на 9-пластинчатые винты вверх по плитке (это превращается в один png, охватывающий всю область вместо горизонтального мозаичного. В конце концов, мне нужно горизонтальное мозаичное и вертикальное масштабирование.

У кого-нибудь есть идеяменя?

РЕДАКТИРОВАТЬ:

Читая, я вижу в ProgressBar, что они обертывают все ваши растровые изображения следующим образом:

        final Bitmap tileBitmap = ((BitmapDrawable) drawable).getBitmap();
        if (mSampleTile == null) {
            mSampleTile = tileBitmap;
        }

        final ShapeDrawable shapeDrawable = new ShapeDrawable(getDrawableShape());

        final BitmapShader bitmapShader = new BitmapShader(tileBitmap,
                Shader.TileMode.REPEAT, Shader.TileMode.CLAMP);
        shapeDrawable.getPaint().setShader(bitmapShader);

        return (clip) ? new ClipDrawable(shapeDrawable, Gravity.LEFT,
                ClipDrawable.HORIZONTAL) : shapeDrawable;

Другими словами, заставить ваш растровое изображение кПлитка с зажимом, вместо того, чтобы уважать ваши исходные настройки плитки. Я уверен, что есть причина для этого, которую я не знаю. Единственное, о чем я могу думать, это написать свой собственный класс индикатора выполнения, который выполняет мою собственную мозаику.

1 Ответ

0 голосов
/ 06 декабря 2011

вероятно, вы должны использовать шаблон.см. документацию drawable-resourse см. раздел «Растровое изображение XML» документа.есть tileMode = "repeat", я думаю, что это решит вашу проблему.

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@[package:]drawable/drawable_resource"
    android:antialias=["true" | "false"]
    android:dither=["true" | "false"]
    android:filter=["true" | "false"]
    android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
                      "fill_vertical" | "center_horizontal" | "fill_horizontal" |
                      "center" | "fill" | "clip_vertical" | "clip_horizontal"]
    android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...