android view.layout(l,t,r,b) 不更新问题

void android.view. View.layout(int l, int t, int r, int b)
是指  该VIEW  与其父类 VIEW 的关系
以父类VIEW的 左上角为 原点0,0
那么, left就是 子视图 左边距到 父类左边距的 距离
top就是 子视图 上边距到 父类上边距的 距离
right就是 子视图 右边距到 父类左边距的 距离  ,可以理解为,子视图left+子视图的宽度
bottom就是 子视图 底部边距到 父类上边距的 距离,可以理解为,子视图top+子视图的高度
               

我在用task请求网络 ,返回onPostExecute 中更新UI,发现 textview的背景可以更换,text内容也更改了,可是layout设置位置并没有变化。
在textview上做了个onclicklistener点击时,改变位置却可以。
后面发现,需要用handler. postDelayed
新建一个消息,并且需要让该控件获取焦点,就可以了。
airQualityActivity.getHandlerInstance().postDelayed(new Runnable() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				airIconTextView.requestFocus();
				airIconTextView.layout(tempView.getLeft(),0,airIconTextView.getWidth()+tempView.getLeft(),airIconTextView.getHeight());			
			}
		}, 100);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据您提供的代码,我注意到您没有在布局文件中声明 `PagerTabStrip`,但是您的错误信息中提到了 `PagerTabStrip` 类型。这可能是导致问题的原因。 如果您想在 `ViewPager` 中显示标签,您可以使用 `TabLayout` 组件来实现,而不是 `PagerTabStrip`。以下是修改后的代码示例: ```java import androidx.appcompat.app.AppCompatActivity; import androidx.viewpager.widget.ViewPager; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import com.google.android.material.tabs.TabLayout; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LayoutInflater lf = getLayoutInflater().from(this); View view1 = lf.inflate(R.layout.layout1, null); View view2 = lf.inflate(R.layout.layout2, null); View view3 = lf.inflate(R.layout.layout3, null); List<View> viewList = new ArrayList<>(); viewList.add(view1); viewList.add(view2); viewList.add(view3); ViewPager viewPager = findViewById(R.id.vp); MyAdapter myAdapter = new MyAdapter(viewList); viewPager.setAdapter(myAdapter); TabLayout tabLayout = findViewById(R.id.tab_layout); tabLayout.setupWithViewPager(viewPager); // 将 TabLayoutViewPager 绑定 } } ``` 请确保在布局文件中添加一个具有指定 id 的 `TabLayout` 组件,用于显示标签。然后使用 `setupWithViewPager()` 方法将 `TabLayout` 与 `ViewPager` 绑定起来。 希望这可以解决您的问题。如果您仍然遇到困难,请提供更多信息,我将尽力帮助您。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值