我正在构建一个UI,它在XML中都是静态定义的.所有这些都在整个地方都有重量,虽然它看起来正确,但我希望看到事情确实具有正确的高度和所有.问题是无论我在哪里调用.getHeight()我的格式布局都得到了0.我在onCreate()和onStart()中都尝试过.一样.也适用于所有UI对象.任何的想法?
package com.app.conekta;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.Toast;
public class Conekta extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onResume() {
super.onResume();
FrameLayout fl1 = (FrameLayout) findViewById(R.id.headerFrameLayout);
FrameLayout fl2 = (FrameLayout) findViewById(R.id.footerFrameLayout);
Button b=(Button) findViewById(R.id.searchButton);
Log.d("CONEKTA", String.valueOf(b.getHeight()));
}
}
Run Code Online (Sandbox Code Playgroud)
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" …Run Code Online (Sandbox Code Playgroud) 我的布局看起来像这样:
[TextView 1] [TextView 2]
[ TextView 2 spill-over ]
Run Code Online (Sandbox Code Playgroud)
基本上,我需要将TextView 2的内容包装到下一行,但是从TextView 1启动的地方开始.我想如果我知道在第一行的空间用完之前有多少文本适合TextView 2,我可以把剩下的文本放在前两个下面的另一个TextView中.所以我需要测量文本适合TextView的数量(这可能很棘手,因为据我所知,Android会尝试在TextView中打破文本在一个好的位置,以便它不会破坏一个单词中间是否可以避免)或者我需要一个关于如何解决这个问题的新想法.
任何帮助将不胜感激.
提前致谢,
groomsy