3
我有4個按鈕,我想在GridView中顯示。我希望他們儘可能地填滿屏幕,但我從來沒有做到。我已經嘗試過所有類型的ScaleType,它不會起作用。現在我有FIT_CENTER中的縮放類型,但我得到了意想不到的結果。下面的代碼我到目前爲止:按鈕調整大小問題Android
Main.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Display screenSize = getWindowManager().getDefaultDisplay();
int screenWidth = screenSize.getWidth();
int screenHeight = screenSize.getHeight();
int iconWidth = screenWidth/4;
int iconHeight= screenHeight/2;
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this, iconWidth, iconHeight));
}
ImageAdapter.java
public View getView(final int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(m_Context);
imageView.setLayoutParams(new GridView.LayoutParams(m_width, m_height));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
GridViewLayout.xml
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="90dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:numColumns="2"
android:background="#FFFFFF"/>
代碼的結果是這樣的:
這是我想它是什麼樣子:
注意最後截屏硬編碼這顯然不是我的願望。我希望這可以在沒有硬編碼的情況下適用於每種屏幕尺寸。
可能是這可以幫助你...但這已經完成了線性佈局http://stackoverflow.com/questions/2581481/assign-width-to-half-available-screen-width-claclaratively – DeRagan 2011-02-01 11:30:24