gpt4 book ai didi

Android TabWidget 不同标签的不同xml文件

转载 作者:行者123 更新时间:2023-11-30 04:40:40 25 4
gpt4 key购买 nike

我想用几个选项卡实现 tabwidget,每个选项卡代表来自单个数据源的数据,可以动态更改,所以我不能使用多个 Activity ,因为据我所知, Activity 更像是一个不存在的应用程序虽然它是隐藏的。所以我像这样创建了 tabwidget:

        <ScrollView android:id ="@+id/settings_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ScrollView>

<ScrollView android:id="@+id/maps_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ScrollView>

<EditText android:id="@+id/statistics_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:singleLine="false"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip">
</EditText>

<RelativeLayout android:id="@+id/about_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tint="#55ff0000"
android:src="@drawable/main"
android:layout_centerInParent="true"/>
<TextView
android:id="@+id/appname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:layout_below="@id/icon"
android:layout_centerInParent="true"/>
<TextView
android:id="@+id/version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/appname"
android:layout_centerInParent="true"/>
<TextView
android:id="@+id/site"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_site"
android:layout_below="@id/version"
android:layout_centerInParent="true"/>
<TextView
android:id="@+id/copyright"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_copyright"
android:layout_below="@id/site"
android:layout_centerInParent="true"/>
</RelativeLayout>

<RelativeLayout android:id ="@+id/gatewaylist_view"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dip"
>
<LinearLayout
android:id="@+id/bottom_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<!--Put whatever view item you want here -->
<Button android:text="Add Gateway"
android:id="@+id/BtnToClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</Button>
</LinearLayout>
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cacheColorHint="#00000000"
android:layout_above="@id/bottom_view"
/>
</RelativeLayout>

<ScrollView android:id="@+id/gatewayparams_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:id="@+id/addressLabels"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="4">
<TextView android:id="@+id/lblIP"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:text="@string/hostLabel"
android:layout_weight="3"/>
<TextView android:id="@+id/lblPort"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:text="@string/portLabel"
android:layout_toRightOf="@id/lblIP"
android:layout_alignParentRight="true"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout android:id="@+id/addressEditBoxes"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="4"
android:layout_below="@id/addressLabels">
<EditText android:id="@+id/edtHost"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_alignParentLeft="true"
android:inputType="text"
android:text="192.168.1.141"
android:layout_weight="3"/>
<EditText android:id="@+id/edtPort"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:inputType="number"
android:text="9988"
android:layout_alignParentRight="true"
android:layout_weight="1"
/>
</LinearLayout>
<CheckBox android:id="@+id/chkUseProxy"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentLeft="true"
android:text="@string/useProxyLabel"
android:layout_weight="1"
android:layout_below="@id/addressEditBoxes"/>
<LinearLayout android:id="@+id/proxyLables"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="4"
android:layout_below="@id/chkUseProxy">
<TextView android:id="@+id/lblProxyIP"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:text="@string/hostLabel"
android:layout_weight="3"/>
<TextView android:id="@+id/lblProxyPort"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:text="@string/portLabel"
android:layout_toRightOf="@id/lblProxyIP"
android:layout_alignParentRight="true"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout android:id="@+id/proxyEditBoxes"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="4"
android:layout_below="@id/proxyLables">
<EditText android:id="@+id/edtProxyHost"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_alignParentLeft="true"
android:inputType="text"
android:text="192.168.1.141"
android:layout_weight="3"/>
<EditText android:id="@+id/edtProxyPort"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:inputType="number"
android:text="9988"
android:layout_alignParentRight="true"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout android:id="@+id/encryptionLine"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="4"
android:layout_below="@id/proxyEditBoxes">
<TextView android:id="@+id/lblEncryption"
android:text="@@string/encryptiontype"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight ="2"/>
<Spinner android:id="@+id/spinnerenctype"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:prompt="@string/encryptiontype"
android:layout_weight ="2"
/>
</LinearLayout>
<LinearLayout android:id="@+id/usernameLabels"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="4"
android:layout_below="@id/encryptionLine">
<TextView android:id="@+id/txtUName"
android:text="@string/usernameLabel"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight ="2"/>
<TextView android:id="@+id/txtPassword"
android:text="@string/passwordLabel"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight ="2"/>
</LinearLayout>
<LinearLayout android:id="@+id/usernameEditBoxes"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="4"
android:layout_below="@id/usernameLabels">
<EditText android:id="@+id/edtUsername"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:inputType="text"
android:text="devdev"
android:layout_weight="2"
/>
<EditText android:id="@+id/edtPassword"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:inputType="textPassword"
android:text="devdev"
android:layout_weight="2"
/>
</LinearLayout>
<Button android:layout_height="wrap_content"
android:text="@string/connect"
android:id="@+id/btnConnect"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_below="@id/usernameEditBoxes"/>
</RelativeLayout>
</ScrollView>

<LinearLayout android:id="@+id/videofield_view"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</LinearLayout>>
</FrameLayout>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_weight="0"/>

</LinearLayout>

然后我像这样初始化我的应用程序

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

    Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost


tabHost.addTab(tabHost.newTabSpec("tab_gatewaylist").setIndicator("",res.getDrawable(R.drawable.ic_tab_favorites)).setContent(R.id.gatewaylist_view));
tabHost.addTab(tabHost.newTabSpec("tab_gatewayparams").setIndicator("",res.getDrawable(R.drawable.ic_tab_gatewayparams)).setContent(R.id.gatewayparams_view));
tabHost.addTab(tabHost.newTabSpec("tab_videofield").setIndicator("",res.getDrawable(R.drawable.ic_tab_videofield)).setContent(R.id.videofield_view));
tabHost.addTab(tabHost.newTabSpec("tab_maps").setIndicator("",res.getDrawable(R.drawable.ic_tab_maps)).setContent(R.id.maps_view));
tabHost.addTab(tabHost.newTabSpec("tab_statistics").setIndicator("",res.getDrawable(R.drawable.ic_tab_statistics)).setContent(R.id.statistics_view));
tabHost.addTab(tabHost.newTabSpec("tab_settings").setIndicator("",res.getDrawable(R.drawable.ic_tab_settings)).setContent(R.id.settings_view));
tabHost.addTab(tabHost.newTabSpec("tab_about").setIndicator("",res.getDrawable(R.drawable.ic_tab_about)).setContent(R.id.about_view));


tabHost.setCurrentTab(0);

它工作正常,但我想知道我是否可以将不同选项卡的定义分离到单独的 xml 文件中。我尝试这样做,但应用程序在尝试添加相应选项卡时崩溃。提前致谢。

最佳答案

您是否尝试过使用 <include />元素? http://developer.android.com/resources/articles/layout-tricks-reuse.html这样您就可以将单个 xml 定义放在不同的文件中,并将它们包含在主文件中。

关于Android TabWidget 不同标签的不同xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045988/

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