[android-developers] Re: How to specify the maxWidth of a TextView as a percentage of screen width?
Wrap another Layout (ViewGroup) around your text-view.
Set this new layout's width to 50% of the parent's width (using Weight
(or WeightSum... i can't remember) of 100 in the parent and
layoutWeight or 50 of your new layout. Then the child of your new
layout, your text-view, has a layoutWidth of 'wrap_content'. You may
need an extra new layout-out with layoutWeight of 50 as well, to make
sure the total is 100.
+------------------------------------------+
| |
| |
| |
+-------------------100--------------------+
|+-------50----------+-------50-----------+|
|| | ||
||[TextView] | ||
|| | ||
|+-------------------+--------------------+|
++-------------------+--------------------++
On Oct 15, 11:24 pm, westmeadboy <westmead...@yahoo.co.uk> wrote:
> Thanks but (though maybe I've misunderstood) isn't that for specifying
> the width as a percentage? I want to specify the maxWidth as a
> percentage. The width just needs to wrap the content (but no more than
> the maxWidth).
>
> On Oct 15, 10:51 pm, RichardC <richard.crit...@googlemail.com> wrote:
>
>
>
> > Took me a while to find it, original discussion link:http://groups.google.com/group/android-developers/browse_thread/threa...
>
> > --
> > RichardC
>
> > On Oct 15, 3:19 pm, RichardC <richard.crit...@googlemail.com> wrote:
>
> > > One workaround - you could put your controls into a horizontal
> > > LinearLayout (with it's width set to fill_parent) and then set the
> > > weights of each control inside the LinearLayout so that they total to
> > > 100.
>
> > > For example, if you had 3 controls inside the LinearLayout you could
> > > use 10, 60, 30 for their weights. That should cause the 1st control
> > > to use 10%, the second 60% and the third 30% (total 100%).
>
> > > Hope this works for you.
>
> > > --
> > > RichardC
>
> > > On Oct 15, 12:19 pm, westmeadboy <westmead...@yahoo.co.uk> wrote:
>
> > > > Thanks for your help.
>
> > > > I've looked into this a bit more and it seems that, for what I want to
> > > > do, its enough just to define another layout in the layout-land
> > > > folder.
>
> > > > Its not perfect, because I'm currently assuming just two possible
> > > > screen widths (320 and 480) and so setting the maxWidth accordingly
> > > > for those two scenarios. This might need a little reworking with the
> > > > new support of multiple screen-sizes in 1.6, but it will do for now...
>
> > > > On Oct 15, 1:50 pm, String <sterling.ud...@googlemail.com> wrote:
>
> > > > > On Oct 15, 5:32 am, westmeadboy <westmead...@yahoo.co.uk> wrote:
>
> > > > > > For example, in the layout xml, is it possible to get a handle on the
> > > > > > screen width and apply some kind of arithmetic to it (e.g.
> > > > > > maxWidth="(60 * @screenWidth) / 100px")
>
> > > > > AFAIK, no calculation is possible in the XML. I'd recommend doing this
> > > > > in your activity's Java code instead, using the TextView.setWidth()
> > > > > method.
>
> > > > > > Also would this approach mean the maxWidth would be automatically
> > > > > > recalculated on orientation changes?
>
> > > > > If you do it in Java, you can handle this yourself, as the activity
> > > > > gets recreated when the orientation changes.
>
> > > > > String- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home