相关疑难解决方法(0)

如何将GridView放在ScrollView中

我必须设计布局,使整个布局应该滚动和内部布局我必须在Grid表单中显示相关内容所以我决定使用GridView.但问题是我无法在GridView里面使用ScrollView我已阅读文档(文档也说我们应该也不要GridView在里面使用ScrollView)但是我必须这样做,所以请任何关于此的请给我一些想法.谢谢

android gridview scrollview

65
推荐指数
5
解决办法
7万
查看次数

ScrollView中的图像网格

我正在尝试创建一个包含文本和图像的屏幕.我希望图像像网格一样布局,如下所示,但我希望它们没有周围ScrollView提供的滚动功能.

图像最能说明我的问题:

替代文字

<ScrollView>
    <LinearLayout>
        <ImageView />
        <TextView />
        <GridView />
        <TextView />
    </LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

什么是显示不同数量图像的网格的最佳方法,其中网格没有滚动功能?

请注意,禁用GridView的滚动功能不起作用,因为这只会禁用滚动条但不显示所有项目.

更新:下图显示了在GridView中禁用滚动条的情况.

替代文字

user-interface android gridview scrollview imageview

63
推荐指数
1
解决办法
5万
查看次数

Android ScrollView不是从顶部开始,而是在GridView的开头

我有一个ScrollView的问题,里面有个性化的GridView和其他视图.第一次启动Activity时,ScrollView从顶部开始,但是如果我访问Activity其他时候ScrollView从头开始GridView.I使用了此链接中为我的GridView 找到的类ExpandableHeightGridView .Activity布局的xml代码是这样的:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollViewLuogo"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff" >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff" >

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="150dp"
            android:layout_height="100dp"
            android:layout_marginLeft="14dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:adjustViewBounds="true"
            android:maxHeight="200dp"
            android:maxWidth="200dp"
            android:scaleType="fitXY"
            android:src="@android:drawable/ic_menu_gallery" />

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/nomeTVActivityLuogo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textStyle="bold"
                android:textSize="17sp"
                android:textColor="#005788" />

            <TextView
                android:id="@+id/indirizzoTVActivityLuogo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/linearLayout2"
        android:layout_marginTop="10dp"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageViewMappaLuogo"
            android:layout_width="wrap_content"
            android:layout_height="60dp"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="14dp"
            android:layout_marginRight="14dp"
            android:layout_marginTop="5dp"
            android:scaleType="fitXY"
            android:src="@drawable/sfondo_mappa" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="14dp" …
Run Code Online (Sandbox Code Playgroud)

java android gridview scrollview

54
推荐指数
5
解决办法
4万
查看次数

如何在添加项目时使GridView适应其高度

我试图在GridView中显示一个动态增长的字符串列表,其中包含一个复选框,GridView本身位于TableLayout中.

我可以连续显示这些"已复选"的字符串.当我让用户在GridView中动态添加新字符串时,我的问题出现了.

我创建了一个接收字符串列表的自定义适配器.假设我们有n个字符串.适配器为项目计数返回'n + 1'; 在getView中,它返回:

  • 一个带有LinearLayout的视图,它本身有前两个项目的CheckBox和EditText,
  • 带有简单按钮的LinearLayout,带有'+'标题的'n + 1'项.

到现在为止还挺好.单击"+"按钮时,我将一个空字符串添加到字符串列表中,并在适配器中调用notifyDataSetChanged.

GridView重新绘制了一个项目.但它保持原始高度并创建一个垂直滚动条.我希望GridView扩展它的高度(即在屏幕上占用更多空间并显示所有项目).

我试图将屏幕更改为垂直LinearLayout而不是TableLayout,但结果是相同的.

这是我的屏幕布局:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:scrollbars="none">
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    >

    <!-- other lines omitted -->

    <LinearLayout android:layout_width="fill_parent" 
                  android:layout_height="wrap_content" >
        <TextView
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:text="@string/wine_rack_explanation"
            android:layout_gravity="center_vertical" />
          <GridView
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            android:id="@+id/gvRack"
            android:columnWidth="90dp"    
            android:numColumns="auto_fit" />
    </LinearLayout>

<!-- other lines omitted -->

</LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

适配器中的复选框+字符串项定义如下:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"

  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
    <CheckBox android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:id="@+id/cbCoordinate"
              android:checked="true"
              />
    <EditText android:id="@+id/txtCoordinate"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

"+"按钮项定义如下:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">

    <Button android:id="@+id/btnAddBottle" …
Run Code Online (Sandbox Code Playgroud)

android gridview

27
推荐指数
4
解决办法
5万
查看次数

如何以编程方式设置gridview的高度

我想在我的应用程序中以编程方式设置Gridview的高度.

有没有办法实现呢?

我只想从代码中更改两个特定情况下的gridview高度.

编辑:

<fragment
     android:id="@+id/mygridview"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_margin="10dip"
     class="com.myapp.android.MyGridViewClass" />
Run Code Online (Sandbox Code Playgroud)

MyGridViewClass扩展了Fragment,其中填充了Gridview.

 <GridView
    android:id="@+id/mygridview_container"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dip"
    android:columnWidth="90dp"
    android:gravity="center_vertical|center_horizontal"
    android:horizontalSpacing="1dp"
    android:numColumns="3"
    android:scrollbars="vertical"
    android:stretchMode="spacingWidthUniform"
    android:verticalSpacing="5dp" />
Run Code Online (Sandbox Code Playgroud)

在myGridViewClass中onViewCreated,我使用代码对gridview进行了膨胀,

gridView = (GridView)getView().findViewById( R.id.mygridview_container);
gridAdapter = new MyCustomAdapter(context, list);
gridView.setAdapter(gridAdapter);   
Run Code Online (Sandbox Code Playgroud)

每当创建视图时,我都必须检查gridview中的项目数并相应地设置高度.

当我尝试为gridview设置layoutParams()时,我遇到了这个异常.

android.view.InflateException: Binary XML file line #89: Error inflating class fragment
Run Code Online (Sandbox Code Playgroud)

其中第89行对应于片段class ="com.myapp.android.MyGridViewClass"中的这一行

android gridview android-layout

15
推荐指数
1
解决办法
3万
查看次数

Gridview根据滚动视图中的实际高度显示

 <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/titleBarBG"
        android:layout_alignParentLeft="true" >

    <RelativeLayout
        android:id="@+id/scrollContent"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         >

    <GridView
        android:id="@+id/issueList"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/archiveTitle"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:background="@drawable/customshape"
        android:numColumns="3"
        android:overScrollMode="never"
        android:scrollbars="none" >
    </GridView>

</RelativeLayout>
 </ScrollView>
Run Code Online (Sandbox Code Playgroud)

我想创建一个像桌子一样的网格视图.例如,网格的大小将增加,这将使gridview更高.我希望网格视图显示所有内容,并在有其他内容时扩展高度,而不是隐藏额外的内容

怎么实现这个?谢谢

java android gridview android-layout android-gridview

14
推荐指数
1
解决办法
3741
查看次数

最后一行可扩展listview不是android中的完整视图

红色标记行视图

在这里,我使用视图和代码,如下所示.

 <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:orientation="vertical">

                            <TableRow
                                android:id="@+id/tab_stone_info"
                                android:layout_width="match_parent"
                                android:layout_height="30dp"
                                android:layout_marginTop="1dp"
                                android:background="@color/styleBreakTabColor"
                                android:weightSum="9">

                                <TextView
                                    android:id="@+id/stone_Type"
                                    android:layout_width="match_parent"
                                    android:layout_height="match_parent"
                                    android:layout_weight="1"
                                    android:background="@drawable/cell_shape"
                                    android:gravity="center"
                                    android:text="@string/Type"
                                    android:textColor="@color/txtStyleBreakup"
                                    android:textSize="12sp" />

                                <TextView
                                    android:id="@+id/stone_Shape"
                                    android:layout_width="match_parent"
                                    android:layout_height="match_parent"
                                    android:layout_weight="1"
                                    android:background="@drawable/cell_shape"
                                    android:gravity="center"
                                    android:text="@string/Shape"
                                    android:textColor="@color/txtStyleBreakup"
                                    android:textSize="12sp" />

                                <TextView
                                    android:id="@+id/stone_Qlty"
                                    android:layout_width="match_parent"
                                    android:layout_height="match_parent"
                                    android:layout_weight="1"
                                    android:background="@drawable/cell_shape"
                                    android:gravity="center"
                                    android:text="@string/Quality"
                                    android:textColor="@color/txtStyleBreakup"
                                    android:textSize="12sp" />

                                <TextView
                                    android:id="@+id/stone_Grade"
                                    android:layout_width="match_parent"
                                    android:layout_height="match_parent"
                                    android:layout_weight="1"
                                    android:background="@drawable/cell_shape"
                                    android:gravity="center"
                                    android:text="@string/Grade"
                                    android:textColor="@color/txtStyleBreakup"
                                    android:textSize="12sp" />

                                <TextView
                                    android:id="@+id/stone_Qty"
                                    android:layout_width="match_parent"
                                    android:layout_height="match_parent"
                                    android:layout_weight="1"
                                    android:background="@drawable/cell_shape"
                                    android:gravity="center"
                                    android:text="@string/Qty"
                                    android:textColor="@color/txtStyleBreakup"
                                    android:textSize="12sp" />

                                <TextView
                                    android:id="@+id/stone_Wt"
                                    android:layout_width="match_parent"
                                    android:layout_height="match_parent"
                                    android:layout_weight="1"
                                    android:background="@drawable/cell_shape"
                                    android:gravity="center"
                                    android:text="@string/Wt"
                                    android:textColor="@color/txtStyleBreakup"
                                    android:textSize="12sp" />

                                <TextView
                                    android:id="@+id/stone_MMSize" …
Run Code Online (Sandbox Code Playgroud)

android listview gridview expandablelistview

9
推荐指数
1
解决办法
536
查看次数

Android RelativeLayout高度不遵循GridView高度

我在RelativeLayout中有一个GridView的问题,它在ScrollView中也是如此.问题是RelativeLayout的高度不遵循GridView内容的高度.当有多行时,GridView会被剪裁并出现滚动条,这是不可取的.我试图使用Android层次结构查看器中的屏幕截图来说明我的问题.您可以看到红色RelativeLayout框如何剪切GridView的第二行.我粘贴页面的XML布局(page.xml)和单个网格项(griditem.xml).我使用以下代码来扩展gridAdapter代码中的网格项:

/***********gridAdapter片段的开始**********************/

public View getView(int position, View convertView, ViewGroup parent)
{

     View v;
        if(convertView==null){
            li = LayoutInflater.from(mContext);
            v = li.inflate(R.layout.griditem, null);

            //code for fetching textView and imageUrl content   

            TextView tv = (TextView)v.findViewById(R.id.icon_text);
            tv.setText(textContent);
            ImageView iv = (ImageView)v.findViewById(R.id.icon_image);

            //code for fetching and attaching image to imageView
        }
        else
        {
            v = convertView;
        }
        return v;
}
Run Code Online (Sandbox Code Playgroud)

/***********gridAdapter片段结尾**********************/

/***********启动page.xml**********************/

<TextView android:id="@+id/title" android:layout_weight="1"

        android:layout_width="320dip"
        android:layout_height="wrap_content" 
        android:singleLine="false"
        android:textStyle="bold" 
        android:textSize="14dip" 
        />

<ImageView android:id="@+id/image"
        android:layout_below="@+id/title"
        android:adjustViewBounds="true"
        android:layout_width="128dip"
        android:layout_height="96dip" 
        android:layout_marginRight="4dip"
        />


<TextView android:id="@+id/name" 
        android:layout_weight="1"
        android:layout_below="@+id/title"
        android:layout_toRightOf="@+id/image"
        android:layout_width="192dip" …
Run Code Online (Sandbox Code Playgroud)

android

7
推荐指数
1
解决办法
3376
查看次数

ListView高度内的Android StaggeredGridView

当我在ListView项目中放置StaggeredGridView时,它的高度变为零.我尝试在这个答案中修改onMeasure ,但它没有效果.

修改过的StaggeredGridView:

public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int expandSpec = MeasureSpec.makeMeasureSpec(MEASURED_SIZE_MASK,
                      MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, expandSpec);

    ViewGroup.LayoutParams params = getLayoutParams();
    params.height = getMeasuredHeight();
}
Run Code Online (Sandbox Code Playgroud)

列表项布局:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <com.playday.app.views.InfiniteGridView
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/pics"
        android:layout_marginTop="@dimen/small"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:item_margin="2dp"
        app:column_count="4" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

android listview staggered-gridview

5
推荐指数
0
解决办法
335
查看次数

GridView中的项目不可见

我正在使用gridview来显示一些图像.我做了代码,但我仍然没有得到任何图像

定制适配器

public class CustomAdapter extends BaseAdapter {

    private Context context;
    private int[] images;

    public CustomAdapter(Context context, int[] images) {
        this.context = context;
        this.images = images;
    }

    @Override
    public int getCount() {
        return images.length;
    }

    @Override
    public Object getItem(int position) {
        return images[position];
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (convertView == null) {
            holder = new ViewHolder();
            convertView = LayoutInflater.from(context).inflate(R.layout.custom_trips_frag_row, parent, false);
// …
Run Code Online (Sandbox Code Playgroud)

android gridview

3
推荐指数
1
解决办法
6483
查看次数