我在对话框中扩充布局,此布局显示电子书(96 ImageViews)的许多缩略图。 当我点击某个ImageView时,它会带我到某个页面。关键是我有96“if”语句,所以我想让代码更简单。我正在寻求建议或帮助实现这一目标。这里是我的代码:Android创建缩略图布局
缩略图布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#b8c9bc"
android:weightSum="1"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/thumblayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="1"
android:layout_weight="0.2"
android:gravity="left"
android:visibility="visible" >
<ScrollView
android:id="@+id/ScrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.9" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:src="@drawable/thumbpageh1" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/thumbpageh2" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/thumbpageh3" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/thumbpageh4" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/thumbpageh5" />
.
.
.
.
.
.
.
.
<ImageView
android:id="@+id/imageView101"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:src="@drawable/thumbpageh97" />
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/but"
android:text="OK"
android:textColor="#e2edd3"
android:textSize="18sp"
android:layout_weight="0.1"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
Java代码:
thumbbutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.thumblayout);
WindowManager.LayoutParams wmlp = dialog.getWindow().getAttributes();
wmlp.gravity = Gravity.TOP | Gravity.LEFT;
wmlp.x = 10; //x position
wmlp.y = 10; //y position
dialog.show();
final Button cancel=(Button)dialog.findViewById(R.id.button1);
final ImageView thumbpage1=(ImageView)dialog.findViewById(R.id.imageView1);
final ImageView thumbpage2=(ImageView)dialog.findViewById(R.id.imageView2);
final ImageView thumbpage3=(ImageView)dialog.findViewById(R.id.imageView3);
.
.
.
.
.
.
.
final ImageView thumbpage96=(ImageView)dialog.findViewById(R.id.imageView100);
final ImageView thumbpage97=(ImageView)dialog.findViewById(R.id.imageView101);
cancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog.hide();
// x=hsv.getScrollX();
// y=hsv.getScrollY();
// Toast.makeText(getBaseContext(), "X="+String.valueOf(x)+" and Y="+String.valueOf(y), Toast.LENGTH_LONG).show();
}
});
thumbpage1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page1);
pagenumber=1;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText(String.valueOf(p1)+" - "+String.valueOf(p2));
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
thumbpage2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page2);
pagenumber=2;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText(String.valueOf(p1)+" - "+String.valueOf(p2));
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
thumbpage3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page3);
pagenumber=3;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText(String.valueOf(p1)+" - "+String.valueOf(p2));
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
thumbpage4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page4);
pagenumber=4;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText(String.valueOf(p1)+" - "+String.valueOf(p2));
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
thumbpage5.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page5);
pagenumber=5;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText(String.valueOf(p1)+" - "+String.valueOf(p2));
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
thumbpage6.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page6);
pagenumber=6;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText(String.valueOf(p1)+" - "+String.valueOf(p2));
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
thumbpage7.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page7);
pagenumber=7;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText(String.valueOf(p1)+" - "+String.valueOf(p2));
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
thumbpage8.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page8);
pagenumber=8;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText(String.valueOf(p1)+" - "+String.valueOf(p2));
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
thumbpage9.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page9);
pagenumber=9;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText(String.valueOf(p1)+" - "+String.valueOf(p2));
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
.
.
.
.
.
.
.
.
.
thumbpage96.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page96);
pagenumber=96;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText(String.valueOf(p1)+" - "+String.valueOf(p2));
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
thumbpage97.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
view1.setImageResource(R.drawable.page97);
pagenumber=97;
int p1=(pagenumber*2)-2;
int p2=(pagenumber*2)-1;
pages.setText("192");
myDbHelper.openDataBase();
checkMemoButtonStatus();
myDbHelper.close();
}
});
// visible++;
//
// if(visible==1)
// {
// thumblayout.setVisibility(View.VISIBLE);
// thumblayout.setVisibility(0);
// }
// else
// {
// thumblayout.setVisibility(View.GONE);
// visible=0;
//
// }
// TODO Auto-generated method stub
}
});
我搜索有关使用与图像的定制列表视图,还我搜索有关获取位置在scrollview中的视图,但它没有给予太多的帮助,谢谢
从我看到你的看法是相当统一所以你为什么不使用listview?它更简单,更快:) – 2014-10-20 09:21:25
好吧,我会尽力谢谢你 – 2014-10-20 09:31:41
如果你有问题,请参阅我的答案第一步 – 2014-10-20 09:40:22