日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Some Tips About Layout Resource

發布時間:2024/4/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Some Tips About Layout Resource 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

<?xml version="1.0" encoding="utf-8"?> <ViewGroupxmlns:android="http://schemas.android.com/apk/res/android"android:id="@[+][package:]id/resource_name"android:layout_height=["dimension" | "match_parent" | "wrap_content"]android:layout_width=["dimension" | "match_parent" | "wrap_content"][ViewGroup-specific attributes] ><Viewandroid:id="@[+][package:]id/resource_name"android:layout_height=["dimension" | "match_parent" | "wrap_content"]android:layout_width=["dimension" | "match_parent" | "wrap_content"][View-specific attributes] ><requestFocus/></View><ViewGroup ><View /></ViewGroup><include layout="@layout/layout_resource"/> </ViewGroup>

<1>

<include>

Includes a layout file into this layout.

attributes:

layout
Layout resource.?Required. Reference to a layout resource.
android:id
Resource ID. Overrides the ID given to the root view in the included layout.
android:layout_height
Dimension or keyword. Overrides the height given to the root view in the included layout. Only effective if?android:layout_width?is also declared.
android:layout_width
Dimension or keyword. Overrides the width given to the root view in the included layout. Only effective if?android:layout_height?is also declared.

You can include any other layout attributes in the?<include>?that are supported by the root element in the included layout and they will override those defined in the root element.

Caution:?If you want to override layout attributes using the?<include>?tag, you must override both?android:layout_height?and?android:layout_width?in order for other layout attributes to take effect.

Another way to include a layout is to use?ViewStub. It is a lightweight View that consumes no layout space until you explicitly inflate it, at which point, it includes a layout file defined by its?android:layout?attribute. For more information about using?ViewStub, read?Loading Views On Demand.

Note:?One drawback of?ViewStub?is that it doesn’t currently support the?<merge>?tag in the layouts to be inflated.


<2>

?<requestFocus>

Any element representing a?View?object can include this empty element, which gives its parent initial focus on the screen. You can have only one of these elements per file.<3>


<3>

?<merge>

An alternative root element that is not drawn in the layout hierarchy. Using this as the root element is useful when you know that this layout will be placed into a layout that already contains the appropriate parent View to contain the children of the?<merge>?element. This is particularly useful when you plan to include this layout in another layout file using?<include>?and this layout doesn't require a different?ViewGroup?container. For more information about merging layouts, read?Re-using Layouts with <include/>.


From:https://developer.android.com/guide/topics/resources/layout-resource.html


============================================================================================================

Define a ViewStub


ViewStub?is a lightweight view with no dimension that doesn’t draw anything or participate in the layout. As such, it's cheap to inflate and cheap to leave in a view hierarchy. Each?ViewStub?simply needs to include the?android:layout?attribute to specify the layout to inflate.

The following?ViewStub?is for a translucent progress bar overlay. It should be visible only when new items are being imported into the application.

<ViewStubandroid:id="@+id/stub_import"android:inflatedId="@+id/panel_import"android:layout="@layout/progress_overlay"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_gravity="bottom" />

Load the ViewStub Layout


When you want to load the layout specified by the?ViewStub, either set it visible by calling?setVisibility(View.VISIBLE)?or call?inflate().

findViewById(R.id.stub_import)).setVisibility(View.VISIBLE); // or View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();

Note:?The?inflate()?method returns the inflated?View?once complete. so you don't need to call?findViewById()?if you need to interact with the layout.

Once visible/inflated, the?ViewStub?element is no longer part of the view hierarchy. It is replaced by the inflated layout and the ID for the root view of that layout is the one specified by the?android:inflatedId?attribute of the ViewStub. (The ID?android:id?specified for the?ViewStub?is valid only until the?ViewStub?layout is visible/inflated.)

Note:?One drawback of?ViewStub?is that it doesn’t currently support the?<merge>?tag in the layouts to be inflated.


From:?https://developer.android.com/training/improving-layouts/loading-ondemand.html




總結

以上是生活随笔為你收集整理的Some Tips About Layout Resource的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。