Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.79
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
#1

Масштабирование ImageView в процентах от размера дисплея - Программирование Android

22.07.2013, 11:45. Просмотров 5966. Ответов 4
Метки нет (Все метки)

Всем привет! У меня такой вопрос образовался по разметке интерфейса, сделал прокручиваемый layout, в котором располагаются картинки и надписи для них:
XML
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
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroll" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent">
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
        
        
            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/xml" />
         
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" 
            android:id="@+id/lin1">
            
              <ImageView
                android:id="@+id/imageView1"
                android:contentDescription="@string/app_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="53dp"
                android:src="@drawable/ic_launcher" />
              
        </LinearLayout>
        
    </LinearLayout>
 
</ScrollView>
Проблема в том что картинки подгружаются с сервера и у них не одинаковый размер, получается какой-то обкусанный список, в android к сожалению нет такого свойства width=80% (например как в CSS), как сделать так чтобы картинки имели фиксированную ширину которая зависит от ширины дисплея и задается процентным отношением?

И еще вопрос, как сделать так чтобы надпись и картинка были в одном Linearlayout (или в чем-то другом [квадрат с полями]) чтобы можно было их фон с полями выделить белым цветом, а основной ScrollView например серым...(пробовал LayoutInflater, грузил Linearlayout с отдельного файла, ничего не вышло...) Снизу картинка на которой я изобразил то что хочу представить в своем приложении:
0
Миниатюры
Масштабирование ImageView в процентах от размера дисплея  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2013, 11:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Масштабирование ImageView в процентах от размера дисплея (Программирование Android):

ImageView большого размера
Всем привет, подскажите как правильно сделать , у меня есть картинка большого...

ImageView в активити, можно ли сделать масштабирование "пальцами"?
Можно ли сделать чтоб ImageView (с номинальным размером на весь экран) в...

Скопировать картинку из одной ImageView в другую ImageView
В ImageView поставлена картинка методом setImageResource. По нажатию на неё,...

Видеоплеер: подстройка размера видео под размер дисплея
Вопрос какое свойство отвечает за то чтобы видео полностью растягивалось (или...

Масштабирование страницы фиксированного размера
Я делаю сайт с шириной 960 пикселей. Для отображения сайта во всю ширину...

[UWP] Image масштабирование до реального размера
ничего из этого не подходит( мне нужно чтобы масштабировалось не более чем...

4
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
22.07.2013, 22:50 #2
Цитата Сообщение от Sanu0074 Посмотреть сообщение
width=80%
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="100" 
            android:gravity="center">
            
              <ImageView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:weight="80" />
              
        </LinearLayout>
Добавлено через 1 минуту
Цитата Сообщение от Sanu0074 Посмотреть сообщение
И еще вопрос, как сделать так чтобы надпись и картинка были в одном Linearlayout
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            
              <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>
              
    </LinearLayout>
1
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
23.07.2013, 00:45  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
width=80%
А если картинка очень маленькая, и я хочу растянуть ее до 80%, например данный код только умеет уменьшать изображение если оно большое:

XML
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:orientation="vertical" 
     android:weightSum="100"
     android:background="#ffffff"
     android:padding="10dp"
     android:layout_margin="15dp">
             <TextView
                android:id="@+id/tx"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
                <LinearLayout
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:layout_width="wrap_content"
                    android:gravity="center">
                      <ImageView
                        android:layout_weight="80" 
                        android:layout_height="wrap_content"
                        android:layout_width="0dp"
                        android:id="@+id/im"
                        android:contentDescription="@string/hello_world"/>
                 </LinearLayout>
</LinearLayout>
Как сделать чтобы картинка могла и увеличиться если она не дотягивает до 80% ??
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.07.2013, 01:13 #4
попробуйте android:scaleType
1
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
23.07.2013, 07:38  [ТС] #5
Цитата Сообщение от V0v1k Посмотреть сообщение
попробуйте android:scaleType
Работает Спасибо!
0
23.07.2013, 07:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2013, 07:38
Привет! Вот еще темы с решениями:

Масштабирование картинок в зависимости от размера экрана устройства
DLE 9.3. Можно ли сделать так, чтобы картинки масштабировались в зависимости от...

Масштабирование строк DrawString при изменении размера формы
Добрый день. Отрисовал мне нужную табличку на компоненте РictureBox с помощью...

Пропорциональное масштабирование элементов при изменении размера окна
Подскажите, как сделать так чтобы при изменении размеров окна пропорционально...

Масштабирование элементов на форме при изменение размера окна
Как сделать так, чтоб некоторые обьекты на форме меняли свой размер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru