Я сделал пользовательские вкладки, используя этот метод: http://bakhtiyor.com/2009/10/iphonish-tabs/
кажется, что при выборе каждой вкладки происходит небольшое темное наложение, см. Этот снимок экрана:
Мне бы хотелось, чтобы цвет был бесшовным с нижней частью вкладок и остальной частью экрана. Может кто-нибудь сказать мне, как избавиться от наложения / тьмы?
спасибо:)
вот макет вкладки xml:
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:padding="5dip"
android:background="#ede7da"
android:layout_marginTop="50dip"/>
<RadioGroup android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:checkedButton="@+id/first"
android:id="@+id/states">
<RadioButton android:id="@+id/first"
android:background="@drawable/button_radio"
android:text="Settings"
android:textColor="#dda88f"
android:textSize="12dip"
android:gravity="center"
android:width="80dip"
android:height="70dip" />
<RadioButton android:id="@+id/second"
android:background="@drawable/button_radio"
android:text="Reminders"
android:textColor="#dda88f"
android:textSize="12dip"
android:gravity="center"
android:width="80dip"
android:height="70dip" />
<RadioButton android:id="@+id/third"
android:background="@drawable/button_radio"
android:text="Help"
android:textColor="#dda88f"
android:textSize="12dip"
android:gravity="center"
android:width="80dip"
android:height="70dip" />
<RadioButton android:id="@+id/fourth"
android:background="@drawable/button_radio"
android:text="Spare"
android:textColor="#dda88f"
android:textSize="12dip"
android:gravity="center"
android:width="80dip"
android:height="70dip" />
</RadioGroup>
<com.bitty.kegelkat.PopupButton
android:id="@+id/okbutton"
android:background="@drawable/popup_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="16dp"
android:textColor="#b6b6b6"
android:textSize="30sp"
android:text="OK"
/>
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:visibility="gone" />
</RelativeLayout>
</TabHost>
и вот код вкладки:
setupUI();
Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, Settings.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("settings").setIndicator("Settings",
res.getDrawable(R.drawable.tab_settings))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, Reminders.class);
spec = tabHost.newTabSpec("reminders").setIndicator("Reminders",
res.getDrawable(R.drawable.tab_settings))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, About.class);
spec = tabHost.newTabSpec("about").setIndicator("Help/About",
res.getDrawable(R.drawable.tab_settings))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
private void setupUI() {
RadioButton rbFirst = (RadioButton) findViewById(R.id.first);
RadioButton rbSecond = (RadioButton) findViewById(R.id.second);
RadioButton rbThird = (RadioButton) findViewById(R.id.third);
RadioButton rbFourth = (RadioButton) findViewById(R.id.fourth);
rbFirst.setButtonDrawable(R.drawable.blank);
rbSecond.setButtonDrawable(R.drawable.blank);
rbThird.setButtonDrawable(R.drawable.blank);
rbFourth.setButtonDrawable(R.drawable.blank);
RadioGroup rg = (RadioGroup) findViewById(R.id.states);
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, final int checkedId) {
switch (checkedId) {
case R.id.first:
getTabHost().setCurrentTab(0);
break;
case R.id.second:
getTabHost().setCurrentTab(1);
break;
case R.id.third:
getTabHost().setCurrentTab(2);
break;
case R.id.fourth:
getTabHost().setCurrentTab(3);
break;
}
}
});