【问题标题】:Button resize issue Android按钮调整大小问题Android
【发布时间】:2011-06-19 04:22:19
【问题描述】:

我有 4 个按钮要在网格视图中显示。我希望他们尽可能地填满屏幕,但我从来没有做到。我已经尝试了所有类型的 ScaleType,但它不起作用。现在我在 FIT_CENTER 中有比例类型,但我得到了意想不到的结果。这是我到目前为止的代码:

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"/>

代码结果如下:

这是我想要的样子:

请注意,最后一个屏幕截图是硬编码的,这显然不是我的意愿。我希望它可以在每个屏幕尺寸下工作,而无需硬编码。

【问题讨论】:

  • 这可能对你有帮助...但这已经为线性布局完成了stackoverflow.com/questions/2581481/…
  • 问题是我正在使用图像,而不仅仅是按钮,我已经为此苦苦挣扎了几天,但我找不到让它工作的方法。我已经从相对线性布局和表格布局转变为没有任何反应,我无法确定。

标签: android gridview


【解决方案1】:

您可以使用带有 GridLayoutManager 的回收器视图来实现它。 在那里您可以定义单个项目的大小以匹配设备高度和宽度的一半。那么这将是你预期的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多