2011-05-16 55 views
0

嗨,我有一个线性布局,我想告诉我的自定义视图只的水平,但它只是不工作,为什么我有这样的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); 
    } 

} 

感谢

我的意思是像somethink愤怒的小鸟,当你启动应用程式拨至水平模式和游戏运行时不翻转回来,我需要完全一样的东西。在活动运行时,它应该保持横向模式

回答

1

如果您想为横向模式使用额外的布局XML文件,则可以将thos e res/layout-land-文件夹中的布局,请参阅here

+0

它不会让编译程序[2011-05-16 14点12分28秒 - TabbedHorizo​​ntalPagerDemo](跳过索引文件'C:\ Users \ Bladeszasza \ workspace \ TabbedHorizo​​ntalPagerDemo \ res \ drawable-hdpi \ Thumbs.db') [2011-05-16 14:12:28 - TabbedHorizo​​ntalPagerDemo]无效资源目录名称:C:\ Users \ Bladeszasza \工作区\ TabbedHorizo​​ntalPagerDemo \ res/layout_land – Csabi 2011-05-16 12:14:16

+0

您确实知道“/” - Shlash是一个路径分隔符?所以它是你的“res”-Folder中的“layout-land”文件夹。此外,当您使用Windows资源管理器在您的照片上预览时,会创建Thumbs.db。这个文件可以被删除。 – 2011-05-16 12:25:11

+0

我不明白你的意思对不起 – Csabi 2011-05-16 12:27:18

0

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

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

在应用程序的清单文件,应用程序标签内,把android:screenOrientation="landscape"

+0

是的,我需要只显示它水平 – Csabi 2011-05-16 12:05:17

+0

但它只是不工作,如果我创建layout_land文件夹它不编译应用程序... – Csabi 2011-05-16 12:11:27