Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Basic4android - Wielkość czcionek

konstruktor_123456 15 Lis 2013 00:01 1134 5
  • #1 15 Lis 2013 00:01
    konstruktor_123456
    Poziom 14  

    Rozpocząłem zabawę z programowaniem pod Androida w Basic4android. Mam problem tego typu aby tekst wpisywany na przyciskach dopasowywał się do wielkości tegoż przycisku. Mam tu na myśli automatyczną zmianę czcionki. Dopasowywanie rozmiaru samego przycisku mam rozpracowane i jak wgram aplikację na inny telefon o innych wymiarach to wielkości przycisków ładnie się dopasowują.Jednak nie wiem jak to zrobić z samym tekstem to samo dotyczy Labeli.
    ma ktoś jakiś pomysł.

    0 5
  • #2 15 Lis 2013 12:54
    arnoldziq
    Moderator Programowanie

    Nie znam teko konkretnego programu, ale nie wydaje mi się, żeby istniała możliwość automatycznego dopasowania rozmiaru czcionki do czegokolwiek.
    Zazwyczaj oblicza się ten rozmiar, w procedurach wywoływanych przez zdarzenie zmiany rozmiaru obiektu.
    W ostateczności, jeżeli obliczenia nie są możliwe ze względu na zmienny rozmiar poszczególnych liter, na pewno jest jakaś funkcja, która podaje wysokość i szerokość "napisu" przy odpowiednim rozmiarze czcionki; pętla i sprawdzanie rozmiaru po rozmiarze, czy czcionka mieści się w obiekcie czy nie.

    0
  • #3 15 Lis 2013 20:35
    konstruktor_123456
    Poziom 14  

    No zgadzam się że pewnie automatycznie się to nie robi. Chodzi mi właśnie o taką funkcje zwracającą wysokość i szerokość tekstu dla zadanej czcionki. Ale właśnie nie wiem jaka to funkcja w tym języku. Jak będę miał tą funkcje to już sobie wszystko powyliczam.

    Dodano po 6 [minuty]:

    A swoją droga masz wpisane programowanie w Delphi to jaka tam funkcja to zwraca.

    0
  • #5 16 Lis 2013 14:27
    konstruktor_123456
    Poziom 14  

    Zrobiłem sobie taką próbę

    Dałem takie zdarzenie do przycisku:

    Code:

    form1.edit1.Text:=IntToStr(canvas.TextHeight(form1.Label1.Caption));



    Sądziłem że będę otrzymywał różne wartości wielkości wraz ze zmianą wielkości czcionki dla labela1. Tak jednak nie jest. Funkcja ta zwraca zawsze tą sama liczbę niezależnie jaką czcionkę zadam.

    0
  • #6 19 Lis 2013 04:07
    sivex
    Poziom 27  

    Ja też jak poprzednicy nie miałem okazji spotkać sie z tym środowiskiem
    ale pamiętam z VB6, że szer/wys tekstu mozna było oczytać głównie z
    elementów graficznych jak PictureBox czy Form
    a nie tekstowych jak Label, TextBox...

    pozdr

    0