2011-10-10 28 views
1

我有一個linearlayout,第一個元素是一個imageview頭,第二個元素是一個gridview。如何去除標題欄和LinearLayout的第一個元素之間的黑色空間?

它工作正常,但我有50像素的erroneal黑色空間(更多或更少)的Andr ?? oid絲毫不差吧和應用程序的首部之間,至極是的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); 
} 

快照:

enter image description here

+0

扣將更加清晰的思路。 –

+0

快照完成,檢查第一篇文章 – NullPointerException

+0

android:theme =「@ android:style/Theme.NoTitleBar」r在清單的活動標記中使用此... –

回答

1

更新:如果您在清單中設置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); 
} 
+0

我無法使用XML文件,因爲此應用程序是使用我們公司的應用程序生成器生成的,並且它無法使用XML文件進行佈局。它們必須使用java代碼生成。 – NullPointerException

+0

然後,您可以使用LayoutParams在將ImageView添加到LinearLayout時設置ImageView上的參數。添加「設置ALIGN_PARENT_TOP」到你的參數。你可能想要爲你的LinearLayout和你的ImageView做這件事。 –

+0

ALIGN_PARENT_TOP來自RelativeLayout,我在這裏沒有使用relativeLayout,那麼這不是問題/解決方案:/ – NullPointerException

1

清單中使用這種在活動標籤解決您的問題

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

全屏你應該使用

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

.....其他人告訴我對他的解決方案,我有媒體鏈接測試,並沒有工作,這個問題還在這裏 – NullPointerException

+0

KK ,,也爲LinearLayout中設置PARAMS爲的LayoutParams的LayoutParams =新的LayoutParams( \t \t \t \t \t LayoutParams.FILL_PARENT,的LayoutParams。 FILL_PARENT); –

+0

完成,不起作用:/ – NullPointerException

相關問題