Android OnclickListener在一个按钮中具有多个功能
嘿,伙计们,我正在用按钮+创建一张地图,用于缩放。我想要的是,当我点击按钮时,它会缩放20%,当我再次点击按钮时,它会缩放50%,再次点击时,它会缩放100%。我该怎么做Android OnclickListener在一个按钮中具有多个功能,android,Android,嘿,伙计们,我正在用按钮+创建一张地图,用于缩放。我想要的是,当我点击按钮时,它会缩放20%,当我再次点击按钮时,它会缩放50%,再次点击时,它会缩放100%。我该怎么做 Button zooomin = (Button) findViewById(R.id.plus); zooomin.init(this); zooomin.setOnClickListener(new View.OnClickListener() { @Override p
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MapView.zoomin(20%);
MapView.zoomin(50%);
MapView.zoomin(100%);
}
});
我希望你能帮我解决我的问题,我是android开发的新手。这可以用不同的方法来完成; 其中之一可能是:
float zoom = map.getCameraPosition().zoom;
if (zoom<20) {MapView.zoomin(20%);}
else if (zoom>=20 && zoom<50) {MapView.zoomin(50%);}
else if (zoom>=50) {MapView.zoomin(100%);}
float zoom=map.getCameraPosition().zoom;
如果(zoom=20&&zoom=50){MapView.zoomin(100%);}
这可以通过不同的方法实现;
其中之一可能是:
float zoom = map.getCameraPosition().zoom;
if (zoom<20) {MapView.zoomin(20%);}
else if (zoom>=20 && zoom<50) {MapView.zoomin(50%);}
else if (zoom>=50) {MapView.zoomin(100%);}
float zoom=map.getCameraPosition().zoom;
如果(zoom=20&&zoom=50){MapView.zoomin(100%);}
您可以使用MapView.getZoomLevel()方法获取当前缩放级别,然后根据当前缩放级别使用开关或其他方法查找下一个缩放级别,并使用MapView.ZoomLevel()进行放大。您可以使用MapView.getZoomLevel()进行放大方法获取当前缩放级别,然后使用开关或其他工具根据当前缩放级别查找下一个缩放级别,并使用MapView.zoomIn()放大。尝试此操作
int mycount = 0;
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
++mycount
if(mycount == 1){
String zoom = "20%"}
else if(mycount == 2){
String zoom = "50%"}
else if(mycount == 3){
String zoom = "100%"}
MapView.zoomin(zoom);
}
});
试试这个
int mycount = 0;
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
++mycount
if(mycount == 1){
String zoom = "20%"}
else if(mycount == 2){
String zoom = "50%"}
else if(mycount == 3){
String zoom = "100%"}
MapView.zoomin(zoom);
}
});
创建存储缩放值的整数列表,然后在每次单击时将列表的索引增加1。当缩放级别达到100时,下一次单击会将缩放级别重置为20%
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
ArrayList<Integer> zoomlevels = new ArrayList<Integer>();
zoomlevels.add(20);
zoomlevels.add(50);
zoomlevels.add(100);
int counter = 0;
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MapView.zoomin(zoomlevels[counter]);
counter++;
if(counter == 2) counter = 0;
}
});
Button zooomin=(Button)findViewById(R.id.plus);
zooomin.init(this);
ArrayList zoomlevels=新的ArrayList();
zoomlevels.add(20);
zoomlevels.add(50);
zoomlevels.add(100);
int计数器=0;
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
zoomlevels[计数器];
计数器++;
如果(计数器==2)计数器=0;
}
});
创建存储缩放值的整数列表,然后在每次单击时将列表的索引增加1。当缩放级别达到100时,下一次单击会将缩放级别重置为20%
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
ArrayList<Integer> zoomlevels = new ArrayList<Integer>();
zoomlevels.add(20);
zoomlevels.add(50);
zoomlevels.add(100);
int counter = 0;
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MapView.zoomin(zoomlevels[counter]);
counter++;
if(counter == 2) counter = 0;
}
});
Button zooomin=(Button)findViewById(R.id.plus);
zooomin.init(this);
ArrayList zoomlevels=新的ArrayList();
zoomlevels.add(20);
zoomlevels.add(50);
zoomlevels.add(100);
int计数器=0;
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
zoomlevels[计数器];
计数器++;
如果(计数器==2)计数器=0;
}
});
您可以插入此变量:
private static int button_state=0;
private static int[] available_zooms = new int[]{20,50,100}
现在,在方法上单击“插入”:
MapView.zoomin(available_zooms[button_state++]);
if(button_state==available_zooms.length)
button_state=0;
看起来像这样:
private static int button_state=0;
private static int[] available_zooms = new int[]{20,50,100}
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MapView.zoomin(available_zooms[button_state++]);
if(button_state==available_zooms.length)
button_state=0;
}
});
您可以插入此变量:
private static int button_state=0;
private static int[] available_zooms = new int[]{20,50,100}
现在,在方法上单击“插入”:
MapView.zoomin(available_zooms[button_state++]);
if(button_state==available_zooms.length)
button_state=0;
看起来像这样:
private static int button_state=0;
private static int[] available_zooms = new int[]{20,50,100}
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MapView.zoomin(available_zooms[button_state++]);
if(button_state==available_zooms.length)
button_state=0;
}
});
你必须这样写
int count = 0;
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (count == 0) {
MapView.zoomin(20%);
} else if (count == 1) {
MapView.zoomin(50%);
} else {
MapView.zoomin(100%);
}
count++;
}
});
你必须这样写
int count = 0;
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (count == 0) {
MapView.zoomin(20%);
} else if (count == 1) {
MapView.zoomin(50%);
} else {
MapView.zoomin(100%);
}
count++;
}
});
保留一个整数计数器,当按下按钮时,将缩放设置为20%,然后在计数器中添加1,如果是2 50%,等等,然后当它达到100%时,重置计数器,这样当他们再次按下时,计数器将返回到20%。类似的东西?你可以计算你的点击整数变量,并根据计数应用缩放。也许你可以使用MapView。getZoomLevel()不需要我有另一个按钮缩小。我唯一的问题是缩放按钮我相信我的问题是单击其中的3个按钮保持一个整数计数器,当按下按钮时,将缩放设置为20%,然后在计数器中添加1,如果是2 50%,等等,然后当它达到100%时,重置计数器,这样当他们再次按下时,计数器将返回到20%。类似的东西?你可以计算你的点击整数变量,并根据计数应用缩放。也许你可以使用MapView。getZoomLevel()不需要我有另一个按钮缩小。我唯一的问题是缩放按钮我相信我的问题是单击其中的3个。当我缩小地图并再次单击缩放按钮时,单击3次后,您提供的代码正在工作。缩放按钮不工作。如何解决此问题?在缩小方法中减少此计数当我缩小地图并再次单击“缩放”按钮时,单击3倍后,您提供的代码正在工作。它不工作。如何解决此问题?在缩小方法中减少此计数当我缩小地图并再次单击“缩放”按钮时,单击3倍后,您提供的代码正在工作。它不工作。如何解决此问题?当您单击缩小按钮时,添加
zoomLevel=0代码>当我缩小地图并再次单击“缩放”按钮时,单击3倍后,您提供的代码才起作用。它不起作用。如何解决此问题?当您单击缩小按钮时,添加zoomLevel=0代码>你像个老板,非常感谢你的帮助。现在可以用了没问题!很高兴我能帮上忙。你像个老板,非常感谢你的帮助。现在可以用了没问题!很高兴我能帮忙。