這是一個非常糟糕的黑客,但它應該工作: 創建擴展LinearLayout
一個新的觀點,覆蓋方法getChildStaticTransformation
和setStaticTransformationsEnabled
明確到true
。
在方法getChildStaticTransformation
中,您可以操作tranformation參數來縮小擴展的LinearLayout的所有內容。
然後添加DatePicker
或其他作爲此視圖的子項。
EG:
public class ZoomView
extends LinearLayout
{
private float sf = 1f;
public ZoomView(final Context context, final AttributeSet attrs)
{
super(context, attrs);
setStaticTransformationsEnabled(true);
}
public ZoomView(final Context context)
{
super(context);
setStaticTransformationsEnabled(true);
}
public void setScaling(final float sf)
{
this.sf = sf;
}
@Override
protected boolean getChildStaticTransformation(final View child, final Transformation t)
{
t.clear();
t.setTransformationType(Transformation.TYPE_MATRIX);
final Matrix m = t.getMatrix();
m.setScale(this.sf, this.sf);
return true;
}
}
嗯......這是相當顯着的,這樣做的更好的方法不存在的地方。非常感謝幫助印象。我會盡快給它一下,但我認爲這將是我處理的後續代碼之一,在其他事情更加穩定之後。似乎值得等待,哈哈...... – 2010-11-29 20:56:26