Форум программистов, компьютерный форум CyberForum.ru

Imageview растянуть изображение по вертикали и обрезать по горизонтали - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Не могу разобраться в логе ошибки http://www.cyberforum.ru/android-dev/thread1659625.html
Стопорит проект в самом начале (setContentView(R.layout.activity_main);) Не могу понять что не так ....... public class MainActivity extends ListActivity { public BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Android AutoShow keyboard in AlertDialog Доброго дня :senor: Не могу добиться чтобы при появлении alertdialog'а автоматически появлялась клавиатура, на stackoverflow много перечитал, ничего не работает. У меня в диалоге 1 textview и 1 editText (number), они на вертикальном layout. Я хочу при появлении диалога сразу курсор на edittext и показать клавиатуру. Пробовал так http://www.cyberforum.ru/android-dev/thread1659540.html
Не читаются данные по URL Android
Делаю Android-приложение, которое будет получать json-строку, парсить её и выводить данные из неё. Сама строка создается в WCF-службе. Я запускаю службу в VS, перехожу по ссылке с http://localhost:25734/Test.svc/json/GetDataTable - файл скачивается, все нормально. Открываю ссылку в браузере - все нормально, отображается вся строка. Но, если я запускаю службу, и указываю в андроиде в...
Кэширование в андроид Android
Не подскажете как можно сохранить целое именно в КЭШ память устройства а не, например, в SharedPreferences? Можете привести фрагмент кода
Android Class R http://www.cyberforum.ru/android-dev/thread1659400.html
Начал заниматься недавно, поэтому за глупые вопросы не пинайте) Вопрос в следующем, вернее проблема. В создаваемых проектах напрочь отсутствует класс R. По путям, указанным на разных сайтах, его нету (при виде Packge и т.д.). Нету и нету, подумал я, черт с ним. Но исходный ява код постоянно к нему обращается, а в нем он выделен красным как ошибка (Cannot resolve symbol 'R'). В чем, собственно,...
Android Приложение Камера Всем привет! я новичок в этом деле и мне необходима ваша помощь! Было создано приложение собственное,чтобы использовалась камера на телефоне, а сейчас мне надо понять и написать ответы на вопросы: 1. Хранение графических данных на телефоне 2. Как перевести данные в RGB (цветовая модель) 3. Настройка баланса белого цвета на телефоне может быть кто нибудь знает литературу, где это можно... подробнее

Показать сообщение отдельно
xaat
43 / 16 / 6
Регистрация: 05.12.2015
Сообщений: 65
12.02.2016, 11:10  [ТС]     Imageview растянуть изображение по вертикали и обрезать по горизонтали
Паблито,
Не взлетело в таком варианте. Паблито можешь отписаться мне в личку?

Сделал через свой ImageView, поместил его фоном. Может обрезать картинку по любой из сторон. Может кому пригодится.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import android.content.Context;
import android.graphics.Matrix;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.widget.ImageView;
 
//Now to top crop, just call setOffset(0,0) , bottom crop setOffset(0,1),
// left crop is also setOffset(0,0), and right crop setOffset(1,0)
public class CropImageView extends ImageView {
    float mWidthPercent = 0, mHeightPercent = 0;
 
    public CropImageView(Context context) {
        super(context);
        setup();
    }
 
    public CropImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setup();
    }
 
    public CropImageView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setup();
    }
 
    // How far right or down should we place the upper-left corner of the cropbox? [0, 1]
    public void setOffset(float widthPercent, float heightPercent) {
        mWidthPercent = widthPercent;
        mHeightPercent = heightPercent;
    }
 
    private void setup() {
        setScaleType(ScaleType.MATRIX);
    }
 
    @Override
    protected boolean setFrame(int l, int t, int r, int b) {
 
        Matrix matrix = getImageMatrix();
        float scale;
        int viewWidth = getMeasuredWidth() - getPaddingLeft() - getPaddingRight();
        int viewHeight = getMeasuredHeight() - getPaddingTop() - getPaddingBottom();
        int drawableWidth = getDrawable().getIntrinsicWidth();
        int drawableHeight = getDrawable().getIntrinsicHeight();
        // Allow for setting the drawable later in code by guarding ourselves here.
        if (getDrawable() != null) {
            drawableWidth = getDrawable().getIntrinsicWidth();
            drawableHeight = getDrawable().getIntrinsicHeight();
        }
 
        // Get the scale.
        if (drawableWidth * viewHeight > drawableHeight * viewWidth) {
            // Drawable is flatter than view. Scale it to fill the view height.
            // A Top/Bottom crop here should be identical in this case.
            scale = (float) viewHeight / (float) drawableHeight;
        } else {
            // Drawable is taller than view. Scale it to fill the view width.
            // Left/Right crop here should be identical in this case.
            scale = (float) viewWidth / (float) drawableWidth;
        }
 
        float viewToDrawableWidth = viewWidth / scale;
        float viewToDrawableHeight = viewHeight / scale;
        float xOffset = mWidthPercent * (drawableWidth - viewToDrawableWidth);
        float yOffset = mHeightPercent * (drawableHeight - viewToDrawableHeight);
 
        // Define the rect from which to take the image portion.
        RectF drawableRect = new RectF(xOffset, yOffset, xOffset + viewToDrawableWidth,
                yOffset + viewToDrawableHeight);
        RectF viewRect = new RectF(0, 0, viewWidth, viewHeight);
        matrix.setRectToRect(drawableRect, viewRect, Matrix.ScaleToFit.FILL);
 
        setImageMatrix(matrix);
 
        return super.setFrame(l, t, r, b);
    }
}
 
Текущее время: 23:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru