我正在为android 2.3.3平台开发一个应用程序,并导入兼容包以使用Fragment类。首先,我无法运行这里的第一个简单示例http://developer.android.com/guide/topics/fundamentals/fragments.html
当试图膨胀碎片时,应用程序崩溃。
我“解决了”硬编码片段的内容,而不是使用xml文件--我在onCreateView中创建了一个ImageView:
public static class SampleFragment extends Fragment
{
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
ImageView image = new ImageView(getActivity());
image.setImageResource(R.drawable.sample_image);
image.setLayoutParams(new FrameLayout.LayoutParams(120, 30, Gravity.CENTER));
return image;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background">
<fragment
android:name="org.blackimp.ListenActivity$SampleFragment"
android:id="@+id/noise_meter_fragment"
android:layout_weight="0"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
...
</LinearLayout>
问题是,它完全忽略了由代码设置的布局宽度和高度-实际代码在调用setLayoutParams之前将dp转换为px。它将图像扩展为填充整个片段宽度。
谢谢
发布于 2011-10-12 19:53:05
你必须理解这里片段的用法。您可以将宽度设置为"fill_parent“的片段包含在XML中。本例中的片段只返回ImageView。这是因为您可以将ImageView直接放入您的布局中。您必须在片段的XML中设置像素信息,或者以编程方式添加片段。
您可以找到有关扩展ImageViews here的更多信息。
https://stackoverflow.com/questions/7739396
复制相似问题