gpt4 book ai didi

Android:对所有版本的android应用相同的外观?

转载 作者:行者123 更新时间:2023-11-29 14:15:44 26 4
gpt4 key购买 nike

我在这里解释整个应用程序,我从 ActionBar Style Generator 创建了 ActionBar 并将该样式添加到我的应用程序中。我正在使用 SherLockLibrary 来支持所有 android 版本。我确实从 list 文件中应用了样式,例如 android:theme="@style/Theme.Customtheme"。但是 ui 的外观和感觉在 >3.0 的版本和 <3.0 的版本上不同,你可以在下面的图 2 和图 3 中看到。我希望所有版本的外观和感觉都相同安卓。我在 list 中写了我自己的风格,但没有表现出相同的外观和感觉。在我的应用程序中,有四个类首先是扩展 SherlockFragmentActivity 的 Activity ,另外两个是扩展 SherlockListFragment 的 fragment 。

任何人都有其他选择来做上述事情,请给我提供好的解决方案来解决 android 版本的兼容性和外观问题。
我看了很多,我已经问过关于 stackoverflow 的问题 2 次,但没有得到正确的答案。可能会发生我无法提出完美的问题,所以我希望有人能给我完美的答案。提前致谢

我在这里附加了外观。图 1 我想要的原始样式,图 2 4.2 版本的 View ,图 3 2.3.3 版本的 View

enter image description here

以下是 list 文件

<activity
android:name="com.example.customactivity.CustomActivity"
android:label="@string/projects"
android:theme="@style/Theme.Customtheme" >
.
.

下面是堆叠标签的布局

 <TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0"
/>
<FrameLayout
android:id="@+id/realtabcontent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>

</LinearLayout>
</TabHost>

主要 Activity 代码如下

public class CustomActivity extends SherlockFragmentActivity {
TabHost tHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_custom);

tHost = (TabHost) findViewById(android.R.id.tabhost);
tHost.setup();

TabHost.OnTabChangeListener tabChangeListener = new TabHost.OnTabChangeListener() {

@Override
public void onTabChanged(String tabId) {
FragmentManager fm = getSupportFragmentManager();
ResidentialFragment resdentialFragment = (ResidentialFragment) fm.findFragmentByTag("residential");
CommercialFragment commercialFragment = (CommercialFragment) fm.findFragmentByTag("commercial");
FragmentTransaction ft = fm.beginTransaction();

if (resdentialFragment!=null) {
ft.detach(resdentialFragment);
}
/** Detaches the commercialfragment if exists */
if (commercialFragment!=null) {
ft.detach(commercialFragment);
}
/** If current tab is residential */
if(tabId.equalsIgnoreCase("residential")){

if(resdentialFragment==null){
/** Create residentialFragment and adding to fragmenttransaction */
ft.add(R.id.realtabcontent,new ResidentialFragment(), "residential");
}else{
/** Bring to the front, if already exists in the fragmenttransaction */
ft.attach(resdentialFragment);
}

}else{ /** If current tab is apple */
if(commercialFragment==null){
/** Create AppleFragment and adding to fragmenttransaction */
ft.add(R.id.realtabcontent,new CommercialFragment(), "commercial");
}else{
/** Bring to the front, if already exists in the fragmenttransaction */
ft.attach(commercialFragment);
}
}
ft.commit();
}
};

/** Setting tabchangelistener for the tab */
tHost.setOnTabChangedListener(tabChangeListener);

/** Defining tab builder for residential tab */
TabHost.TabSpec tSpecResidential = tHost.newTabSpec("residential");
tSpecResidential.setIndicator("Residential");
tSpecResidential.setContent(new DummyTabContent(getBaseContext()));
tHost.addTab(tSpecResidential);

/** Defining tab builder for commercial tab */
TabHost.TabSpec tSpecComm = tHost.newTabSpec("commercial");
tSpecComm.setIndicator("Commercial");
tSpecComm.setContent(new DummyTabContent(getBaseContext()));
tHost.addTab(tSpecComm);
}
}

最佳答案

你见过吗?并且 tabhost 已被删除。使用操作栏选项卡。 http://wptrafficanalyzer.in/blog/adding-navigation-tabs-containing-listview-to-action-bar-in-android/

当然要支持所有版本,把上面的替换成sherlock activity

关于Android:对所有版本的android应用相同的外观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15563739/

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