【发布时间】:2013-06-14 08:00:52
【问题描述】:
我正在尝试制作一个应用程序,该应用程序适用于两个人并且都可以看到其中的一半,因此我需要垂直翻转一半。我使用的是LinearLayout,里面有两个RelativeLayouts,里面有layout_weight="1"。
问题是,我不知道怎么做这个翻转。显然android:rotate 仅在版本 11+ (3.0+) 中可用,但我希望它至少支持 2.2。
在阅读了有关 SO 的其他相关问题后,我尝试了各种方法,但似乎都不起作用。我试图扩展 RelativeLayout 并覆盖 onDraw 函数,但它似乎没有做任何事情。这是我的代码:
public class FlippedRelativeLayout extends RelativeLayout
{
public FlippedRelativeLayout(Context context)
{
super(context);
}
public FlippedRelativeLayout(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public FlippedRelativeLayout(Context context, AttributeSet attrs,
int defStyle)
{
super(context, attrs, defStyle);
}
@Override
protected void onDraw(Canvas canvas)
{
canvas.save();
canvas.rotate(180);
super.onDraw(canvas);
canvas.restore();
}
}
我会很高兴得到任何帮助,谢谢!
【问题讨论】:
-
一个RelativeLayout,作为它的父类ViewGroup,默认不调用onDraw (stackoverflow.com/a/13056400/1122966)。我正在寻找解决方案。
-
好吧,我对 android 还很陌生,也许使用 RelativeLayout 对这些东西不重要?我只是认为它给了我在屏幕上放置元素的最大灵活性
标签: java android android-relativelayout