【发布时间】:2014-06-16 23:19:09
【问题描述】:
我想做一个显示在半屏上的活动(就像对话框但不是对话框)我想在上面添加一些文本、切换按钮和标签?
我尝试了对话框,但它不满足我,所以现在我想调整活动的大小。 帮助
提前致谢
【问题讨论】:
-
这太疯狂了 xD 但是你可以使用浮动窗口来实现这种行为。
-
@berserk 请你指导我,我能做到吗?因为我要第一次做实验。我会非常感谢你
我想做一个显示在半屏上的活动(就像对话框但不是对话框)我想在上面添加一些文本、切换按钮和标签?
我尝试了对话框,但它不满足我,所以现在我想调整活动的大小。 帮助
提前致谢
【问题讨论】:
简单。只需使用片段!使用片段,您将完全控制所有内容的大小和位置。看我的例子
这是我的主要 xml。 这是两个独立的片段。每个占据大约四分之一的屏幕。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical"
android:padding="12dp">
<fragment
android:name="com.diamond.home.fragments.TopFragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<!-----here, add the rest of your xml for your main activity -------->
您将显示这些片段的主要活动不需要做任何事情来显示您的片段,因为您的 XML 已经为您调用了这些片段。注意:如果您只想在特定时间显示片段,可以从 xml 引用 fragment,并将可见性设置为 GONE。然后在需要时将其设置为可见。
然后,像这样创建片段类:
public class TopFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragments_top, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//do your stuff for your fragment here
}
因此,您还需要为您的顶级片段创建另一个 xml 布局。在那里,您可以添加按钮、文本视图或您拥有的东西。希望这可以帮助。如果您有任何问题随时问。
【讨论】:
<fragment 布局使用<Frame 布局。将其属性设置为您喜欢的任何内容。在你的情况下,alignParentTop 和一半的高度。填充父宽度。然后当你展示它。将框架布局设置为可见,然后对该框架布局执行 FragmentTransaction 到作为对话框的 Fragment。