显示敬酒小部件的视图下方 [英] Show toast widget underneath a view

查看:171
本文介绍了显示敬酒小部件的视图下方的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于那些谁帮助我前面关于这个项目,非常感谢你!我的code不再有任何问题,我做了额外的调整。现在,应用程序实际上是强大的现在,我想做的一件事。

见的布局这里的截图。

通常情况下,举杯视图显示在屏幕的底部中心。我想使它看起来略低于(8DP)提交按钮一次的OnClick被调用。我怎样才能做到这一点。

请参阅我的更新的完整的项目这里。

 包com.lookjohn.guessnumber;

导入了java.util.Random;

进口android.app.Activity;
进口android.os.Bundle;
进口android.view.Menu;
进口android.view.View;
进口android.widget.Button;
进口android.widget.EditText;
进口android.widget.Toast;

公共类MainActivity延伸活动{
随机随机的;
Button按钮;
的EditText文本;

INT输入;
诠释MIN,MAX;
INT补偿;
诠释猜测;

公共无效的onCreate(包savedInstanceState){

    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_main);

    随机=新的随机();
    按钮=(按钮)findViewById(R.id.button1);
    文=(EditText上)findViewById(R.id.editText1);

    MIN = 1;
    MAX = 100;
    补偿= random.nextInt(MAX  -  MIN + 1)+最小值; //生成1和100之间的随机数。
    猜测= ​​0;

    button.setOnClickListener(myhandler1);
}

View.OnClickListener myhandler1 =新View.OnClickListener(){

    公共无效的onClick(视图v){

        //猜测实现的最大数量,检测
        //猜测和方法返回的数量。

        字符串值= text.getText()的toString()。 //从editTextView获得价值从输入

        //如果用户提交一个空的EditText,返回prevent崩溃。
        如果(value.isEmpty()){
            Toast.makeText(MainActivity.this,你必须输入一个猜测!,Toast.LENGTH_SHORT);
            返回;
        }

        输入=的Integer.parseInt(值); //开启字符串转换成整数
        猜测++;
        如果(输入大于100){
            Toast.makeText(MainActivity.this,
                这个数字大于100无效!,
                Toast.LENGTH_SHORT).show();
                返回;
            }

        否则,如果(输入<可比)
            Toast.makeText(MainActivity.this,
                您的号码是太小了。
                Toast.LENGTH_SHORT).show();
        否则,如果(输入>可比)
            Toast.makeText(MainActivity.this,
                您的号码是太大了。
                Toast.LENGTH_SHORT).show();
        其他
            Toast.makeText(MainActivity.this,
                干得好!答案是+补偿+\ N+
                你做+猜测+的猜测。\ N+
                重新启动应用程序,再试一次。
                Toast.LENGTH_LONG).show();
    }
};

@覆盖
公共布尔onCreateOptionsMenu(功能菜单){
    //充气菜单;这增加了项目操作栏,如果它是present。
    。getMenuInflater()膨胀(R.menu.main,菜单);
    返回true;
}

}
 

解决方案

据我了解,这是我想出了该程序的最好的。这样做会将吐司消息中的电话中心。

 如果(输入大于100){
            吐司面包= Toast.makeText(MainActivity.this,
                R.string.over_guess,
                Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER,0,0);
            toast.show();
            返回;
            }
        否则,如果(输入<可比){
            吐司面包= Toast.makeText(MainActivity.this,
                的getString(R.string.guess_low,输入),
                Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER,0,0);
            toast.show();
        }
        否则,如果(输入>可比){
            吐司面包= Toast.makeText(MainActivity.this,
                的getString(R.string.guess_high,输入),
                Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER,0,0);
            toast.show();
        }
        其他 {
            吐司面包= Toast.makeText(MainActivity.this,
                的getString(R.string.correct,补偿,猜测),
                Toast.LENGTH_LONG);
            toast.setGravity(Gravity.CENTER,0,0);
            toast.show();
        }
 

For those who helped me out earlier regarding this project, thank you very much! My code no longer has any problems, and I made extra tweaks. Now that the app is actually robust now, I want to do one more thing.

See screenshot of the layout here.

Normally, the toast view appears at the bottom center of the screen. I want to make it appear just below (8dp) the Submit button once OnClick is called. How can I accomplish this.

See my updated complete project here.

package com.lookjohn.guessnumber;

import java.util.Random;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
Random random; 
Button button;
EditText text;

int input; 
int MIN, MAX;
int comp; 
int guesses;

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    random = new Random();
    button = (Button)findViewById(R.id.button1);
    text = (EditText)findViewById(R.id.editText1);

    MIN = 1;
    MAX = 100;
    comp = random.nextInt(MAX - MIN + 1) + MIN; // Generate random number between 1 and 100.
    guesses = 0;

    button.setOnClickListener(myhandler1);
}

View.OnClickListener myhandler1 = new View.OnClickListener() {

    public void onClick(View v) {

        // Implemented max number of guesses, detect 
        // number of guesses and return from the method.

        String value = text.getText().toString(); // Get value from input from editTextView

        // If user submits an empty EditText, return to prevent a crash.
        if (value.isEmpty()) {
            Toast.makeText(MainActivity.this, "You must enter a guess!", Toast.LENGTH_SHORT);
            return;
        }

        input = Integer.parseInt(value); // Turn string into integer
        guesses++;
        if (input > 100) {
            Toast.makeText(MainActivity.this, 
                "That number is greater than 100. Not Valid!", 
                Toast.LENGTH_SHORT).show();
                return;
            }

        else if (input < comp)
            Toast.makeText(MainActivity.this, 
                "Your number is too small.", 
                Toast.LENGTH_SHORT).show();
        else if (input > comp) 
            Toast.makeText(MainActivity.this, 
                "Your number is too big.", 
                Toast.LENGTH_SHORT).show();
        else
            Toast.makeText(MainActivity.this, 
                "Good job! The answer was " + comp + ".\n" +
                "You made " + guesses + " guesses.\n" +
                "Restart the app to try again.", 
                Toast.LENGTH_LONG).show();
    }
};

@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;
}

}

解决方案

From what I learned, this is the best I came up with for the program. Doing this puts the Toast message in the center of the phone.

if(input > 100) {   
            Toast toast = Toast.makeText(MainActivity.this, 
                R.string.over_guess, 
                Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER, 0, 0); 
            toast.show();   
            return;
            }
        else if(input < comp) {
            Toast toast = Toast.makeText(MainActivity.this, 
                getString(R.string.guess_low, input), 
                Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER, 0, 0); 
            toast.show();
        }
        else if(input > comp) {
            Toast toast = Toast.makeText(MainActivity.this, 
                getString(R.string.guess_high, input), 
                Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.CENTER, 0, 0); 
            toast.show();
        }
        else {
            Toast toast = Toast.makeText(MainActivity.this, 
                getString(R.string.correct, comp, guesses), 
                Toast.LENGTH_LONG);
            toast.setGravity(Gravity.CENTER, 0, 0); 
            toast.show();
        }

这篇关于显示敬酒小部件的视图下方的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆