2012-01-12 2 views
0

나는 대화 상자에 gridview를 넣지 만 어떤 식 으로든 그 크기를 변경할 수는 없다. 항상 화면을 수평 방향으로 채 웁니다. 이 방법대화 상자에서 gridview 너비를 변경하는 방법

 LayoutInflater factory = LayoutInflater.from(this); 
     final GridView gridView = (GridView) factory.inflate(R.layout.winner_moremenu, null); 
     mMoreMenuItemsGridView = gridView; 
     // gridView.setAdapter(new 
     // MenuAdapter(getApplicationContext(),getMoreMenuItems())); 
     OnItemClickListener il = getMenuGridOnItemClickListener(); 
     if (il == null) { 
      il = mDefaultMoreMenuListener; 
     } 
     gridView.setOnItemClickListener(il); 
     return getMoreMenuDialog(gridView); 

R.layout.winner_moremenu 무엇을 호출하는 경우

protected Dialog getMoreMenuDialog(GridView gridView) { 
    Dialog d = new Dialog(AbstractActivity.this, R.style.menuDialog); 
    Window window = d.getWindow(); 
    window.setGravity(Gravity.BOTTOM); 
    android.view.WindowManager.LayoutParams params = window.getAttributes(); 
    params.y = findViewById(R.id.context_menu_ll).getHeight() + 3; 
    window.setAttributes(params); 
    d.setCancelable(true); 
    d.setCanceledOnTouchOutside(true); 
    int WRAP_CONTENT = LayoutParams.WRAP_CONTENT; 
    gridView.setLayoutParams(new LayoutParams(100, WRAP_CONTENT)); 
    d.addContentView(gridView, new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)); 

    return d; 
} 

다음 장소? 다음 나는 그것을 해결

<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/menu_grid" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:padding="2dp" 
android:verticalSpacing="2dp" 
android:horizontalSpacing="2dp" 
android:numColumns="4" 
android:columnWidth="60dp" 
android:stretchMode="columnWidth" 
android:listSelector="@drawable/shap_context_menu_focus" 
android:gravity="center" 
/> 

답변

0

. 레이아웃을 사용하여 gridview를 포함시킨 다음 대화 상자에 추가하고 레이아웃의 크기를 설정합니다.

관련 문제