我有两个szenarios:
第一:
textView.setTextSize(getResources().getDimension(R.dimen.defaultTextSize));
Run Code Online (Sandbox Code Playgroud)
xml中的第二个:
android:textSize="@dimen/defaultTextSize"
Run Code Online (Sandbox Code Playgroud)
在values/dimen.xml中,我已经使用20sp声明了defaultTextSize
在我的第一种情况下,文本比我的第二种情况要大得多(并且在某些屏幕上不同).为什么?我做错了吗?
几天以来,我试图弄清楚如果我执行代码会发生什么
void function(){
//somePreExecutionCode
new Handler().post(new Runnable(){
@Override
public void run(){
//someCode
}
});
}
Run Code Online (Sandbox Code Playgroud)
它似乎没有阻止UI,所以调用function()的按钮在someCode完成之前不会卡在点击的位置.但是如果somePreExecutionCode启动了progressBar,那么当someCode完成时,progressBar会在完全相同的时刻显示.我知道,有AsyncTasks,但还有其他可能吗?
最重要的是什么
new Handler().post
Run Code Online (Sandbox Code Playgroud)
和
View.post
Run Code Online (Sandbox Code Playgroud)
?