如何在android中更改click事件

时间:2014-04-15 08:01:55

标签: android android-layout

我已经好几天了,学习Android App开发:

我创建了一个有两个按钮的APK(largeButton& smallButton),如果点击这些按钮,测试会相应地变大和变小。

我想做什么:

当我点击第二次按钮时,应该在之前的模式中改变,即应该发生副Versa。

这是我的代码:

mainActivity:

package com.firstapk.helloworld;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {


     Button largButton;
     Button smallButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        largButton = (Button) findViewById(R.id.largbutton);
        smallButton = (Button) findViewById(R.id.smallbutton);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);



        return true;
    }



    //public void getDisplay(View view){

         public void largebuttonclick(View view){
             try{

                 largButton.setTextSize(40);

             }catch(Exception e){
                 Log.d("TestApp", e.getMessage());
             }
         }
    //}

         public void smallButtonClick(View view){
             try{
                 smallButton.setTextSize(5);
             }catch(Exception e){
                 Log.d("TestApp",e.getMessage());
             }
         }

}

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <Button
        android:id="@+id/largbutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="96dp"
        android:onClick="largebuttonclick"
        android:text="@string/button_large" />

    <Button
        android:id="@+id/smallbutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="320dp"
        android:onClick="smallButtonClick"
        android:text="@string/button_small" />



</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

正如你现在做的那样,如果他点击“最大尺寸”,他会看到最大尺寸;

所以也许你只想使用一个像(+和 - )一样工作的按钮?如果是,请使用一个onClick和一个布尔变量来保存当前状态(最大尺寸,小尺寸)。

private boolean maxSize; // false if small, true if max
public void onChangeSize(View view)
{
 if (maxSize)//max->small
 {
   smallButton.setTextSize(5);
 }
 else//small->max
 {
   largButton.setTextSize(40);
 }

 maxSize = !maxSize;
}

然后在两个按钮xml中android:onClick="onChangeSize"

您可以对当前代码使用相同的approch,但它将以相同的方式工作。