0
활동 하단에는 아이콘과 텍스트로 구성되지만 내 테마에는 텍스트 만 표시되는 탭 위젯이 있습니다.Tab 호스트 최하위 문제
"Theme.AppCompat.Light.NoActionBar"인 현재 프로젝트 테마에서이 문제가 발생하는 것을 보았습니다. 그리고 "NOTITLEBAR"테마를 사용하여 잘 작동하지만 "No TITLE BAR"테마를 사용할 수없는 다른 문제가 발생합니다.
정말 이런 일이 벌어지고 있는지 알 수 없습니다. 버그를 찾는데 도와주세요. 또한 제안을 환영합니다.
TabWidget.xml
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:background="@android:color/white"
/>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:showDividers="middle"
android:divider="@color/dividerColor"
android:background="@color/button_color"
android:tabStripEnabled="false"
/>
</LinearLayout>
</TabHost>
TabActivity
public class MainActivity extends TabActivity {
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// stop executing code by return
return;
}
context = getApplicationContext();
// TabHost tabHost = getTabHost();
tabHost = getTabHost();
SharedPreferences preferences2 = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
String u_id1 = preferences2.getString("Userid","");
Bean b = new Bean();
b.setDeviceid(u_id1);
// tabHost.getTabWidget().getResources().getDrawable(R.drawable.tab);
// Tab for Photos
TabSpec photospec = tabHost.newTabSpec("Favourite");
photospec.setIndicator("Favorites", getResources().getDrawable(R.drawable.tab_favourites));
photospec.setContent(photosIntent);
// Tab for Songs
TabSpec songspec = tabHost.newTabSpec("Contacts");
// setting Title and Icon for the Tab
songspec.setIndicator("Contacts", getResources().getDrawable(R.drawable.tab_contacts));
Intent songsIntent = new Intent(this, Contacts_new.class);
songspec.setContent(songsIntent);
// Tab for Videos
TabSpec videospec = tabHost.newTabSpec("Meeting");
videospec.setIndicator("Meeting",getResources().getDrawable(R.drawable.tab_meeting));
Intent videosIntent = new Intent(this, Meeting.class);
videospec.setContent(videosIntent);
// Tab for Future SMS
TabSpec futuresms = tabHost.newTabSpec("Map");
futuresms.setIndicator("Map",getResources().getDrawable(R.drawable.tab_map));
Intent futureIntent = new Intent(this, Map.class);
futuresms.setContent(futureIntent);
// Tab for Future SMS
TabSpec setting = tabHost.newTabSpec("Setting");
setting.setIndicator("Setting",getResources().getDrawable(R.drawable.tab_setting));
Intent settingintent = new Intent(this, Setting.class);
setting.setContent(settingintent);
// Adding all TabSpec to TabHost
tabHost.addTab(photospec); // Adding photos tab
tabHost.addTab(songspec); // Adding songs tab
tabHost.addTab(videospec); // Adding videos tab
tabHost.addTab(futuresms);
tabHost.addTab(setting);
for (int j=0;j<tabHost.getTabWidget().getChildCount();j++){
TextView textView = (TextView)tabHost.getTabWidget().getChildAt(j).findViewById(android.R.id.title);
textView.setTextSize(5);
}
for (int i = 0; i <tabHost.getTabWidget().getChildCount(); i++) {
tabHost.getTabWidget().getChildTabViewAt(i).setBackgroundColor(getResources().getColor(R.color.button_color));
}
String tabid = Bean.getDeviceid();
if(tabid == null)
{
int in = Integer.parseInt("2");
tabHost.setCurrentTab(in);
}
else
{
int in = Integer.parseInt(tabid);
tabHost.setCurrentTab(in);
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = preferences.edit();
editor.putString("msg","Hi");
super.onDestroy();
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
System.gc();
MainActivity.this.finish();
System.exit(0);
}
}
테마 내가 사용하고
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/green_top_bar</item>
<item name="colorPrimaryDark">@color/green_top_bar</item>
<item name="colorControlNormal">#ECEFF1</item>
<!--<item name="colorAccent"></item>-->
<item name = "android:textColorSecondary">#727272</item>
이미지 (표시 문제) :이 하단 바의 높이로 인해 일어나는
일부 스 니펫으로 나를 도울 수 있습니까? –
먼저 텍스트를 제거하고 이미지를 볼 수 있는지 여부를 확인합니다. –
그래, 내가 텍스트를 제거한 후 아이콘을 볼 수 있습니다 –