You can try setting typicalItem to the longest item.
I know that is an option, but I was hoping some setting would make this unnecessary. Weird that DDL exhibits this behavior.
One option you have is to remove the width="75" from the labelDisplay in the DropDownListSkin. This will cause the DropDownList to resize with the selected items. This combined with typicalItem might alleviate the problem. However, if the items have major differences in size, this probably won't help.
Setting the typicalitem is exactly what I did to solve this problem (that, frankly spoken, shouldn't be a problem; I would expect this as normal DropDownList behaviour)
BUT... what is "the longest item"?
If you determine it based on the number of characters, that would work most of the time but not always. (Consider the entries "WWW" and "iiii")
I tried to use measureText() to determine the longest entry, but there I found it always returns a width of 0 (zero). *sigh*
Which brings us to this forum question: http://forums.adobe.com/message/2624512
So far, I didn't get it working...
And that just to make the DropDownList width follow its content. *sigh*
At last, I solved the problem of "determining the longest item" by using the idea mentioned in http://stackoverflow.com/questions/4628368/length-of-a-string-in-pixels.
var format:TextFormat = new TextFormat();
format.font = myDropDownList.getStyle("font-family"); // since we're working with a css file for the styling
format.size = myDropDownList.getStyle("font-size");
Then for each item in the DropDownList's dataprovider determine this width:
textField.text = item.value; // in my case
var width:int = textField.textWidth;
Once you determined the item with the biggest width, set that one as the DropDownList's typicalItem.