- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个问题。
我希望将行动态添加到 TableLayout
。添加这些行时,我需要能够获取 View 的大小,因此我尝试在 onSizeChanged()
期间执行此操作,但新行不显示。所以我尝试了 onFinishInflate()
,但是我无法访问大小 (getMeasuredHeight 返回 0)
。
以下代码的输出显示两行 initial row
+ onFinishInflate getMeasuredHeight=0
。但是,如果我使用 sdk 中的 hierarchyviewer 并按 load view hierarchy
然后我突然在模拟器中看到 3 行 initial row
+ onFinishInflate getMeasuredHeight=0
+ onSizeChanged getMeasuredHeight=270
!.
Note: This is using emulator 2.1 hvga landscape, code built with latest sdk, targeting android1.5.
<?xml version="1.0" encoding="utf-8"?>
<com.steelbytes.android.TableHeightTest.TestLinLay
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TableLayout
android:id="@+id/table1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:text="initial row"
/>
</TableRow>
</TableLayout>
</com.steelbytes.android.TableHeightTest.TestLinLay>
package com.steelbytes.android.TableHeightTest;
import android.app.Activity;
import android.os.Bundle;
public class TableHeightTest extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
package com.steelbytes.android.TableHeightTest;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class TestLinLay extends LinearLayout
{
Context mContext;
public TestLinLay(Context context, AttributeSet attrs)
{
super(context, attrs);
mContext = context;
}
private void addRow(String funcName)
{
TableLayout tl = (TableLayout)findViewById(R.id.table1);
TableRow tr = new TableRow(mContext);
TextView tv = new TextView(mContext);
tv.setText(funcName+" getMeasuredHeight="+tl.getMeasuredHeight());
tr.addView(tv);
tl.addView(tr);
}
@Override
protected void onFinishInflate()
{
super.onFinishInflate();
addRow("onFinishInflate");
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh)
{
super.onSizeChanged(w,h,oldw,oldh);
addRow("onSizeChanged");
}
}
最佳答案
在调用 getMeasuredWidth/getMeasuredHeight 之前调用 View.measure(int widthMeasureSpec, int heightMeasureSpec)( http://developer.android.com/reference/android/view/View.html#measure%28int,%20int%29 ) 可以很好地测量高度。
关于android - 动态添加 TableRow 与 getMeasuredHeight/getHeight 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2323981/
我有两个使用相同 JavaScript 文件的网站。一个是 Joomla 站点,另一个是该站点布局的副本。 JavaScript 包含以下两行: var header = document.getEl
我是 Android 的新手,我在使用这个 tutorial 时遇到了一些麻烦.我得到的错误是 getHeight/Width/requestRender 对于 HelloOpenGLES20Acti
当我运行计算二叉搜索树高度的方法的代码时,它会导致堆栈溢出错误,但仅限于具有多个节点的树(我的程序中的 BSTElements)。我已了解到这是由于错误的递归调用造成的,但无法识别我的代码中的问题。
这是代码: import acm.program.*; public class test extends GraphicsProgram{ public test()
我正在 xml 文件中创建一个 imageLyout,使用这段代码这段代码: 当我在 drawbale-hdpi 属性中输入图像时,我看到图像尺寸为:515 * 348 像素。 当我使用
我是 libgdx 的新手,一直在练习使用 ShapeRenderer。我试图在屏幕底部放置一个矩形,但 Gdx.graphics.getHeight() 函数返回的值未覆盖整个长度。如果我将矩形的坐
我正在制作一个围绕框架移动的弹跳立方体。为了检测框架的边界,我使用了 JFrame 中 JComponent 的 getHeight() 和 getWidth() 并计算可能的边界,以便立方体可以反弹
我正在 relativeLayout 中动态创建一些 ImageView,但我需要根据屏幕的高度和宽度改变大小。在我设置高度时,尚未创建 View 和布局,这意味着 getHeight() 和 get
这些方法在动态检索时返回正确的值,例如。在 onCreate() 中,但唯一的异常(exception)是当维度在 xml 布局文件中指定为 undefined 时,像 'wrap content'
本文整理了Java中android.graphics.YuvImage.getHeight()方法的一些代码示例,展示了YuvImage.getHeight()的具体用法。这些代码示例主要来源于Git
本文整理了Java中am.widget.zxingscanview.ZxingScanView.getHeight()方法的一些代码示例,展示了ZxingScanView.getHeight()的具体
本文整理了Java中am.widget.zxingscanview.ZxingForegroundView.getHeight()方法的一些代码示例,展示了ZxingForegroundView.ge
我是 Android Studio 的新手,在与 BitmapFactory 相关的任务中,我尤其感到困惑。 我遇到的问题如下。当我在可绘制文件夹下插入一个尺寸为 (578x496) 的 jpg 文件
关于Scriptaculous的Effect.Move演示可以参见 here : a#move_demo { background:#fa0000; color:#fff; padding:5p
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.background); 我的 background.png
我正在使用 Actionbarsherlock,我想在操作栏的正下方放置一个 PopupWindow。使用 showAtLocation() 获取 x 和 y 偏移量,因此理想情况下 y 偏移量将是操
我想以编程方式获取 TextView 的高度或至少行数,但日志显示为 0。有什么问题吗?这是我的代码: public void onCreate(Bundle savedInstanceState)
我已经在代码中初始化了 TextView(即,没有从布局中初始化它) TextView v = new TextView(getApplicationContext()); 然后我设置文
您好,我是 Android 的新手,我正面临这个问题:如何获取放置在相对布局中的 View 的高度/宽度?我尝试了 getHeight() 和 getWidth() 并且都返回了 0。 我需要知道这个
我在尝试为状态栏添加颜色时发现了影响相对布局高度的问题。 adding Flag影响相对布局 rootView 高度的计算。 private void changeStatusBarColor(){
我是一名优秀的程序员,十分优秀!