Android 如何删除标题栏和LinearLayout的第一个元素之间的黑色空间?

Android 如何删除标题栏和LinearLayout的第一个元素之间的黑色空间?,android,android-linearlayout,Android,Android Linearlayout,我有一个linearlayout,第一个元素是imageview标题,第二个元素是gridview 它工作正常,但我在android标题栏和应用程序标题之间有一个50像素(或多或少)的黑色空间,这是linearlayout的第一个元素 为什么我有那个空间?我发现删除它的唯一方法是放这一行:ll.setPadding(0,-50,0,0) 这是完整的代码: public class MainGrid extends Activity { private GridView myGridVie

我有一个linearlayout,第一个元素是imageview标题,第二个元素是gridview

它工作正常,但我在android标题栏和应用程序标题之间有一个50像素(或多或少)的黑色空间,这是linearlayout的第一个元素

为什么我有那个空间?我发现删除它的唯一方法是放这一行:
ll.setPadding(0,-50,0,0)

这是完整的代码:

public class MainGrid extends Activity {
    private GridView myGridView;
    private ImageAdapter myImageAdapter;
    private ImageView header;
    
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);//turn off the window's title bar
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//fullscreen
    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    ll.setGravity(Gravity.CENTER);
    //ll.setPadding(0, -50, 0, 0);
    header = new ImageView(getApplicationContext());
    header.setImageResource(R.drawable.header_acc);
    
    myGridView = new GridView(this);
    myImageAdapter=new ImageAdapter(this);
    myGridView.setAdapter(myImageAdapter);

    ll.addView(header);
    ll.addView(myGridView);
    setContentView(ll);
}
快照:


如果不使用标题栏,您可以随时将其删除:


更新:如果您在清单中设置
android:theme=“@android:style/theme.NoTitleBar.Fullscreen”
,这应该可以正常工作

public class MainGrid extends Activity {
    private GridView myGridView;
    private ImageAdapter myImageAdapter;
    private ImageView header;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    ll.setGravity(Gravity.TOP);   // SET THIS TO TOP

    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT);
    ll.setLayoutParams(lp);
    // I'VE ADDED LAYOUTPARAMS TOO

    header = new ImageView(getApplicationContext());
    header.setImageResource(R.drawable.header_acc);

    myGridView = new GridView(this);
    myImageAdapter=new ImageAdapter(this);
    myGridView.setAdapter(myImageAdapter);

    ll.addView(header);
    ll.addView(myGridView);
    setContentView(ll);
}

在清单中使用此in for activity标记可以解决您的问题

android:theme="@android:style/Theme.NoTitleBar"
对于全屏,您应该使用

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

快照将给出更清晰的想法。快照完成后,请检查第一个postandroid:theme=“@android:style/theme.NoTitleBar”r在清单的活动标记中使用此…@ArpitGarg我想你是对的,他可能会在隐藏标题栏后获得成功我的标题栏被隐藏,请再次检查我的代码,我用更多代码更新了它以隐藏标题栏。错误还在这里。我没有使用它。。。这不是问题,检查代码,我用删除标题barno的行更新了代码,我这样做了:android:theme=“@android:style/theme.NoTitleBar”。如何在清单中全屏显示?android:theme=“@android:style/theme.NoTitleBar.fullscreen”我尝试了您的所有解决方案,但没有一个有效。仍然存在相同的问题我无法使用XML文件,因为此应用程序是使用我们公司的app generator生成的,并且它无法将XML文件用于布局。它们必须用java代码生成。然后,在将ImageView添加到LinearLayout时,可以使用LayoutParams在ImageView上设置参数。将“设置对齐父项顶部”添加到参数中。您可能希望对LinearLayout和ImageView都执行此操作。ALIGN\u PARENT\u TOP来自RelativeLayout,我在这里没有使用RelativeLayout,那么这不是问题/解决方案:/n您是否在清单中设置了set NoTitleBar?你需要把它放进去吗?是的,我已经测试过了,从另一个答案中可以看出更多的东西。。。。。另一个家伙告诉我,在他的解决方案中,我已经测试过了,但不起作用,问题仍然存在kk,,还将LinearLayout的参数设置为LayoutParams LayoutParams=new LayoutParams(LayoutParams.FILL\u PARENT,LayoutParams.FILL\u PARENT);移除ll.setGravity(重心);同时,我对这张照片也很满意。。尝试设置标题视图的背景色,如有#223344是否显示完整..哦,不!我注意到一些东西,当我把背景颜色,我创造了一个新的问题,检查这个链接: