Java/Android vraag

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Moi_in_actie
  • Registratie: Maart 2007
  • Laatst online: 26-09 15:05
Ik had even een vraag met betrekking tot Android styles. Als ik in een xml document een bepaalde style definieer kan ik deze toepassen op bepaalde elementen van mijn layout. Als ik deze style dan toepas in de xml file van de view (bv bij een relativelayout: style="@style/CommentLayoutRight"), dan werkt dit prima.

Dit werkt dus prima, als je de elementen al vooraf in de xml aanmaakt. Mijn probleem zit echter wanneer ik deze style wil toepassen at runtime. Bij sommige UI elementen werkt het prima (ImageView, TextView), maar bij een RelativeLayout krijg ik het niet werkend. Bij een ImageView doe ik het zo:
_image = new ImageView(this, null, R.style.IconRight);

Doe ik hetzelfde voor een RelativeLayout, dan lijkt het totaal geen effect te hebben:
_layout = new RelativeLayout(this, null, R.style.LayoutRight);

In het style document hebben beiden ongeveer dezelfde stylingselementen bijgewerkt, zaken als margins, width, height etc. Maar bij de RelativeLayout wordt de styling niet toegepast, bij de andere elementen wel. Heeft iemand enige ervaring hiermee of een idee waarom het niet werkt?

Bvd.

Ryzen 9 9950X3D ~~ 32GB GSkill TridentZ 6000Mhz ~~ ASRock B850M Steel Legend ~~ Powercolor Hellhound RX9070XT


Acties:
  • 0 Henk 'm!

  • Maethor2
  • Registratie: Augustus 2010
  • Laatst online: 12-06-2024
Mijn eerste idee is dat je de id moet meegeven ipv de style zelf. Ipv R.Style.xxx dus R.id.xxx

Acties:
  • 0 Henk 'm!

  • Moi_in_actie
  • Registratie: Maart 2007
  • Laatst online: 26-09 15:05
Dit is helaas niet het probleem. Het eerste voorbeeld met de ImageView werkt (redelijk). Het moet gewoon R.style zijn, aangezien de betreffende stijl in de R.java onder de afdeling "public static final class style {" staat.

Ryzen 9 9950X3D ~~ 32GB GSkill TridentZ 6000Mhz ~~ ASRock B850M Steel Legend ~~ Powercolor Hellhound RX9070XT


Acties:
  • 0 Henk 'm!

Verwijderd

Ik denk dat je de style dan eerst nog moet inflaten.

Acties:
  • 0 Henk 'm!

  • Moi_in_actie
  • Registratie: Maart 2007
  • Laatst online: 26-09 15:05
Hmm... dit zou misschien kunnen werken. Ik zal het eens uitproberen, bedankt voor de tip alvast, ik zal nog laten weten of het succesvol is.

Ryzen 9 9950X3D ~~ 32GB GSkill TridentZ 6000Mhz ~~ ASRock B850M Steel Legend ~~ Powercolor Hellhound RX9070XT


Acties:
  • 0 Henk 'm!

  • - peter -
  • Registratie: September 2002
  • Nu online
Het klopt iniedergeval wat je doet qua style. Dus de opmerking over R.id is onjuist.
Java:
1
public RelativeLayout (Context context, AttributeSet attrs, int defStyle)
Pagina: 1