相关疑难解决方法(0)

在子视图中强制onLayout,其尺寸不会改变

我有一个自定义ViewGroup内部的一些视图.

响应事件,调用requestLayout并在OnLayout某些视图中获得新的布局位置.

其中一个保持其位置,但需要在内部重新排列.但是,由于布局位置不会改变,因此不会调用此视图的onlayout方法.试图打电话requestLayout,forceLayoutinvalidate在此视图中不起作用.

我发现的唯一脏技巧是改变它的一些值位置以强制布局改变,但我认为应该有更好的方法.所以,到现在为止我做了一些事情(可怕的):

    int patch = 0;
    @Override protected void onLayout(boolean changed, int l, int t, int r, int b) {
        ...
        _myView.patchedLayout(patch);
        _myview.layout(l1, t1 , r1, t1+patch);
        patch = (patch+1) % 2;
        ...
    }       
Run Code Online (Sandbox Code Playgroud)

有没有办法以更好的方式获得相同的结果?

android android-layout viewgroup

6
推荐指数
1
解决办法
3862
查看次数

标签 统计

android ×1

android-layout ×1

viewgroup ×1