<GridView
android:id="@+id/gridView1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:columnWidth="100dip"
android:numColumns="8"
android:scrollbarStyle="insideOverlay"
android:scrollbars="vertical|horizontal"
android:stretchMode="none" >
</GridView>
我想在gridview中使用垂直和水平滚动条,如上所示。 我看到垂直的一个确实运作良好,但水平一个没有。 所以我试图通过将gridview放在水平滚动视图下面来修复它,如下所示
<HorizontalScrollView
android:id="@+id/horizontalScrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<GridView
android:id="@+id/gridView1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:columnWidth="100dip"
android:numColumns="8"
android:scrollbarStyle="insideOverlay"
android:scrollbars="vertical|horizontal"
android:stretchMode="none" >
</GridView>
</HorizontalScrollView>
更糟糕的是,它只显示了一列gridview,当然,没有水平滚动条。
我该如何解决?
答案 0 :(得分:0)
GridView
扩展AbsListView
课程。本质上,网格视图是一个列表视图,除了行之外还支持列。所以它不支持水平滚动。
通过设置android:scrollbars="vertical|horizontal"
属性,您所做的就是指示网格视图显示水平和垂直滚动条。设置此属性将不允许在视图中滚动(gridview和listviews本质上启用了滚动)。
如果您可以对您尝试做的事情进行更多解释,可以建议另一种方法。
答案 1 :(得分:0)
在android中使用水平和垂直scroolview的最佳解决方案
<%@ page contentType="application/pdf"%>
<%@ page trimDirectiveWhitespaces="true"%>
<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.io.File"%>
<%@ page import="java.io.FileInputStream"%>
<%@ page import="java.io.FileNotFoundException"%>
<%@ page import="java.io.InputStream"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.DriverManager"%>
<%@ page import="java.sql.SQLException"%>
<%@ page import="java.util.*"%>
<%
Connection conn = null;
Map parametersMap = new HashMap();
parametersMap.put("id",1);
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/project?user=root&password=123456");
String jrxmlFile = session.getServletContext().getRealPath("MainReport.jrxml");
InputStream input = new FileInputStream(new File(jrxmlFile));
//Generation the report
JasperReport jasperReport = JasperCompileManager.compileReport(input);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parametersMap, conn);
//Exporting the report as PDF
JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (Exception e){
e.printStackTrace();
} finally {
if(conn != null){
conn.close();
}
}
%>