如何使自定义视图仅显示水平?

时间:2011-05-16 11:57:28

标签: android

嗨我有一个线性布局,我想只显示我的自定义视图水平,但它只是不起作用?我有像这样的xml:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_height="wrap_content"
  android:layout_width="fill_parent" 
  android:orientation="horizontal" 
  android:scrollbars="horizontal" 
  android:id="@+id/ll"
  android:background="@drawable/horizon">

但我添加了自定义视图,所以也许我应该设置一些属性,但我不知道哪个。

MyView mView = new MyView(this,i);
realViewSwitcher.addView(mView);

myView.java:

public class MyView extends View {

    public MyView(Context context, int kolki) {
        super(context);

        if (kolki == 0){
            this.setBackgroundResource(R.drawable.distspeed);
        }
        if (kolki == 1){
            this.setBackgroundResource(R.drawable.hxmdist);
        }
    }

    public void setBackgroundResource (int resid){
        super.setBackgroundResource(resid);
    } 

    public void onDraw(Canvas c){
        super.onDraw(c);
        Paint paint = new Paint();
        Path path = new Path();
        paint.setStyle(Paint.Style.FILL);
        paint.setColor(Color.TRANSPARENT);
        c.drawPaint(paint);
        for (int i = 50; i < 100; i++) {
               path.moveTo(i, i-1);
               path.lineTo(i, i);  
        }
        path.close();
        paint.setStrokeWidth(3);
        paint.setPathEffect(null);
        paint.setColor(Color.BLACK);
        paint.setStyle(Paint.Style.STROKE);
        c.drawPath(path, paint);
    }

}

感谢

我的意思是像愤怒的小鸟一样思考,当你开始应用它翻转到水平模式并且在游戏运行时不会翻转,我需要完全相同的东西。它应该在活动运行时保持横向模式

2 个答案:

答案 0 :(得分:1)

如果您想为横向模式添加额外的布局XML文件,可以将这些布局放在res/layout-land - 文件夹中,请参阅here

答案 1 :(得分:0)

您的意思是需要将方向限制为水平方向吗?

How do you create an app that only allows horizontal orientation?

在应用程序的清单文件中,在应用程序标记内放置android:screenOrientation="landscape"