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

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

22.07.2013, 11:45. Просмотров 6142. Ответов 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 большого размера
Всем привет, подскажите как правильно сделать , у меня есть картинка большого...

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

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

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

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

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

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

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

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


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

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

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