Android AlertDialog居中失效且Gravity符号找不到编译报错求助
解决AlertDialog中Gravity符号找不到的编译错误
嗨,这个问题我之前在新版Android Studio里也碰到过,其实就是个小疏忽导致的,很容易搞定~
你遇到的error: cannot find symbol variable Gravity,本质原因是没有导入android.view.Gravity这个类,或者不小心导入了别的包下的同名类。下面给你几个可行的解决办法:
方法一:添加正确的导入语句
在你的Java文件顶部,加上这行导入代码:import android.view.Gravity;新版Android Studio里也可以把光标放在报错的
Gravity上,按Alt+Enter(Windows/Linux)或Option+Enter(Mac),选择导入android.view.Gravity,IDE会自动帮你补全。方法二:使用全限定类名调用
如果不想额外添加导入语句,直接用完整的类路径来引用Gravity常量也可以,修改这行代码:myMsg.setGravity(android.view.Gravity.CENTER_HORIZONTAL);方法三:用TextView的setTextAlignment替代
另外还有个更贴合新版Android API的写法,用setTextAlignment来实现文本居中,效果完全一致:// 记得导入android.view.View import android.view.View; // ... myMsg.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
修正后的完整代码示例(用方法一):
import android.app.AlertDialog; import android.view.Gravity; import android.widget.TextView; // 假设在Activity或Fragment中 AlertDialog.Builder ad= new AlertDialog.Builder(this); TextView myMsg = new TextView(this); myMsg.setText("This is new Custom Alert \n And \n Welcome to android"); myMsg.setGravity(Gravity.CENTER_HORIZONTAL); ad.setView(myMsg); AlertDialog dialog = ad.create(); dialog.show();
内容的提问来源于stack exchange,提问作者ravi
相关产品推荐
相关产品推荐

