gpt4 book ai didi

Android: ViewPagerIndicator - 为不同的页面创建不同的布局

转载 作者:太空宇宙 更新时间:2023-11-03 12:39:48 26 4
gpt4 key购买 nike

我需要创建四个不同的布局,每个布局对应一个 ViewPagerIndicator 页面。我怎样才能做到这一点? ViewPagerIndicator 已经在工作,但我正在使用来自 http://viewpagerindicator.com 的示例并为所有页面创建了一个简单的 TextView。

查看示例 (TestFragment.java):

  @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

TextView text = new TextView(getActivity());
text.setGravity(Gravity.CENTER);
text.setText(mContent);
text.setTextSize(20 * getResources().getDisplayMetrics().density);
text.setPadding(20, 20, 20, 20);

LinearLayout layout = new LinearLayout(getActivity());
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
layout.setGravity(Gravity.CENTER);
layout.addView(text);

return layout;
}

我需要识别当前页面(位置)并引用相关的资源布局(XML)。可能吗?

我还需要确保所有页面的所有 View 在我创建 Activity 时只加载一次,以便稍后更新值。

感谢任何帮助!!谢谢

最佳答案

我找到了一个适合我的简单解决方案。这是我所做的。

TestFragment.class

      public static TestFragment newInstance(String content) {
TestFragment fragment = new TestFragment();
//
// StringBuilder builder = new StringBuilder();
// for (int i = 0; i < 20; i++) {
// builder.append(content).append(" ");
// }
// builder.deleteCharAt(builder.length() - 1);
fragment.mContent = content;

return fragment;
}

在这里注释掉 for 循环。只需获取我们将用作标志的 mContent

现在在你的onCreateView()中改变它如下,

   @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// TextView text = new TextView(getActivity());
// text.setGravity(Gravity.CENTER);
// text.setText(mContent);
// text.setTextSize(20 * getResources().getDisplayMetrics().density);
// text.setPadding(20, 20, 20, 20);
//
// LinearLayout layout = new LinearLayout(getActivity());
// layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
// layout.setGravity(Gravity.CENTER);
// layout.addView(text);
Log.i("mContent",mContent);
View view=null;
if(mContent.equalsIgnoreCase("title1"))
{
view = inflater.inflate(R.layout.one, container, false);

}
else if(mContent.equalsIgnoreCase("title2"))
{
view = inflater.inflate(R.layout.two, container, false);
}
else if(mContent.equalsIgnoreCase("title3"))
{
view = inflater.inflate(R.layout.three, container, false);
}
return view;

}

仅此而已。现在您将能够根据我们用作标志的标题名称来扩充您的 View 。

关于Android: ViewPagerIndicator - 为不同的页面创建不同的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694388/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com