Android编程权威指南出来之后,对自我有要求的同志,很难找到相关的解决办法,所以我决定来帮帮忙分享一下我的资源
如果没有书,又不想买书的,可以下载一下pdf版本。建议购买正版。
我整理了一下,中英文的PDF版本,仅供学习使用。->Link
挑战练习一 代码demo -> Link
挑战练习-题目:
这个练习需要你定制toast消息,改在屏幕顶部而不是底部显示弹出消息。这需要使用
Toast
类的setGravity
方法,并使用Gravity.TOP
重力值。具体如何使用,请参考Android开发者文档。该方法所在网页为 developer.android.com/reference/android/widget/Toast.html#setGravity(int, int, int)。
参考解决方法:
所以,我们只要将True和False两个Button的监视器内容修改一下
TrueButton:
mTrueButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast toast = Toast.makeText(QuizActivity.this,
R.string.correct_toast,
Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP, 0, 0);
toast.show();
}
});
FalseButton:
mFalseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast toast = Toast.makeText(QuizActivity.this,
R.string.incorrect_toast,
Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP, 0, 0);
toast.show();
}
});
生成结果如图:
相关解析:
public static Toast makeText (Context context,CharSequence text, int duration)
生成一个包含文本视图的标准 Toast对象。
参数
context | 使用的上下文。通常是你的 |
resId | 要显示的文本,可以是已格式化文本。 |
duration | 该信息的存续期间。值为 |
public void setGravity (int gravity, int xOffset, int yOffset)
设置提示信息在屏幕上的显示位置。
gravity 位置值 如TOP,CENTER等可选值
xOffset 相对于参照位置的横向偏移像素量
yOffset 相对于参照位置的纵向偏移像素量