gpt4 book ai didi

android - 水平滚动 GridView

转载 作者:可可西里 更新时间:2023-11-01 19:08:40 25 4
gpt4 key购买 nike

我知道在 Android 中水平滚动 GridView 是不可能的。但我正在做的是在水平 ScrollView 中动态添加图像按钮,如下所示:

public class HorizontalScroller extends Activity {
static int l=0;
private Rect mTempRect = new Rect();

static int r1=0;
static int t=0;
static int b=0;
static int x=0;
static int y=0;
//Button[] b1 = new Button[100];
ImageButton btn[][] = new ImageButton[10][10];

//ImageButton b1 = new ImageButton(this);
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout rl = (LinearLayout)findViewById(R.id.widget92);

LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

for(int i=0;i<4;i++)
{
for(int j=0;j<10;j++)
{System.out.println("helo");
/* l=l+100;
r1=r1+100;
t=t+100;
b=b+100;*/
//button();
//ImageButton btn=new ImageButton(this);
/* Rect r = mTempRect;
r.left=10;
r.top=10;
r.right=10;
r.bottom=10;
btn[i][j].getDrawingRect(r);*/

//btn[i][j].setId(j);

Rect r = mTempRect;
r.set(0,0,0,0);
Rect r2 = mTempRect;
r2.set(0,20,0,20);

btn[i][j]=new ImageButton(this);
btn[i][j]. setBackgroundResource(R.drawable.icon);
btn[i][j].setMinimumWidth(20);
btn[i][j].setMinimumHeight(20);
params1.setMargins(5, 5, 5,5);
rl.addView(btn[i][j],params1);

System.out.println("1="+btn[i][j].getTop());
System.out.println("2="+btn[i][j].getLeft());
System.out.println("3="+btn[i][j].getRight());
System.out.println("4="+btn[i][j].getBottom());
}
}
}
}

但我将所有图像按钮放在一行中。我怎样才能在类似网格的结构中实现它们?

最佳答案

实现水平滚动的 GridView 涉及将一些 Android 源代码类复制到您的代码库(AdapterView、AbsListView、GridView、ScrollBarDrawable)并添加代码来处理水平代码。这主要是复制一些代码并将顶部更改为左侧、底部更改为右侧等。必须复制而不是扩展的主要原因是这些类的最终性质。

我前段时间实现了一个水平滚动的 GridView,终于抽空推送到 github: https://github.com/jess-anders/two-way-gridview

关于android - 水平滚动 GridView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5725745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com