2011-12-29 72 views
2

我有一個視圖,視圖包含兩個按鈕和一個畫廊。兩個按鈕之間的圖庫視圖很滿意現在,當我運行代碼。圖庫默認選中的項目是1號,它位於中間,左側爲空白。相反,我希望沒有1個項目應該在左邊並被選中。對,我用下面的代碼,如何設置畫廊從左上角開始?

MarginLayoutParams mlp = (MarginLayoutParams) myGallery.getLayoutParams(); 
     mlp.setMargins(-100, mlp.topMargin, mlp.rightMargin, 
       mlp.bottomMargin); 

這是我的適配器gallery_adapter.xml,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <ImageView android:layout_width="180px" 
     android:layout_height="169px" android:id="@+id/imageView1" 
     android:src="@drawable/gallary_each_bg" 
     ></ImageView> 

    <ImageView android:layout_width="80px" 
     android:layout_height="80px" android:id="@+id/imageView2" 
     android:layout_centerInParent="true" android:layout_marginTop="10px"></ImageView> 

    <TextView android:layout_width="wrap_content" android:id="@+id/textView1" 
     android:layout_height="wrap_content" android:layout_marginLeft="55px" 
     android:textSize="20px" android:layout_marginTop="30px"></TextView> 



</RelativeLayout> 

這個我的主要XML,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <Gallery android:layout_height="fill_parent" 
     android:layout_width="350px" android:id="@+id/gallery1" 
     android:layout_centerInParent="true" 
     ></Gallery> 

    <Button android:layout_width="58px" 
     android:id="@+id/prev" android:layout_height="114px" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" android:background="@drawable/prevbutton"></Button> 

    <Button android:layout_width="58px" 
     android:id="@+id/next" android:layout_height="114px" 
     android:layout_centerVertical="true" 
     android:layout_alignParentRight="true" 
     android:background="@drawable/nextbutton"></Button> 

</RelativeLayout> 

在這裏,我沒有得到任何結果。有些地方我做錯了。請幫助我..

回答

-6

這很容易就在另一個項目上設置畫廊:

myGallery.setSelection(4);

8

這就是你finding

 DisplayMetrics metrics = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(metrics); 

     Gallery g = (Gallery) findViewById(R.id.gallery); 

     // set gallery to left side 
     MarginLayoutParams mlp = (MarginLayoutParams) g.getLayoutParams(); 
     mlp.setMargins(-(metrics.widthPixels/2 + (imageWidth/2)), mlp.topMargin, 
        mlp.rightMargin, mlp.bottomMargin); 
+0

鏈接只答案是不歡迎堆棧溢出 – hims056 2012-12-01 10:52:13

+0

什麼是'imageWidth。 '? – RobinHood 2014-05-08 07:09:14

+0

imageWidth是您的行文件的圖像視圖。 – 2014-07-02 09:14:07

0

窗口管理器,WM =(窗口管理器)mcontext.getSystemService(Context.WINDOW_SERVICE); wm.getDefaultDisplay()。getMetrics(metrics);

MarginLayoutParams mlp =(MarginLayoutParams)Gallery.getLayoutParams(); mlp.setMargins( - ((metrics.widthPixels/2)+100), mlp.topMargin, mlp.rightMargin, mlp.bottomMargin

相關問題