所以我需要根据屏幕区域改变图像的大小.图像必须是屏幕高度的一半,否则它会与某些文本重叠.
所以身高= 1/2屏幕高度.宽度=高度*宽高比(只是试图保持宽高比相同)
我发现了一些东西:
Display myDisplay = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width =myDisplay.getWidth();
int height=myDisplay.getHeight();
Run Code Online (Sandbox Code Playgroud)
但是我如何在java中更改图像高度?甚至是XML,如果可能的话?我似乎找不到合适的答案.
我最近对此感到非常困惑,无法在任何地方找到答案.
在为Android编程时,我想每10秒更新一次textview,但是我该怎么做呢?我看过一些样本使用"Run()"和"Update()",但是当我尝试它时,这似乎没有任何帮助,任何想法?
现在我有:
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.slideshow);
CONST_TIME = (int) System.currentTimeMillis();
Resources res = getResources();
myString = res.getStringArray(R.array.myArray);
}
public void checkTime(View V){
TextView text = (TextView) findViewById(R.id.fadequote);
CUR_TIME = (int) System.currentTimeMillis();
text.setText(""+(int) (CUR_TIME-CONST_TIME));//Debugs how much time has gone by
if(CUR_TIME-CONST_TIME>10000){
getNextQuote(null); //A function that gets a random quote
CONST_TIME = CUR_TIME;
}
}
Run Code Online (Sandbox Code Playgroud)
我想我真正要问的是如何让checkTime()无休止地重复它 - 直到onPause()被调用?
好的,我之前能够找到一个计时器,但现在我遇到了另一个问题
所以,当我调用这个名为"getNextQuote();"的函数时 第一次在onCreate()中它更新并获得一个随机引用并完美地显示它,但是,当我再次尝试时,在onResume()中,由于某种原因它不会刷新.
public void getNextQuote(){
TextView tv = (TextView) findViewById(R.id.quote);//Text To be edited
Random QuoteNum = new Random();
int Quote = QuoteNum.nextInt(50);
android.util.Log.i("DebugB",""+Quote);
String q = myString[Quote];//find which string is corresponding to the number
tv.setText(q);//Set the Text
android.util.Log.i("DebugC",q);
}
Run Code Online (Sandbox Code Playgroud)
什么明显我错过了??? 在日志中,新的引号就像应该的那样出现,但它们只是没有被吸引到实际的模拟器屏幕.