이 작업을 수행하려면 단일 탭에 대해 두 개의 이미지를 만들어야합니다. 그리고 드로어 블/사진 selector1 @
MainActivity
public class MainActivity extends TabActivity
{
TabHost tabHost;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabHost = getTabHost();
TabSpec spec;
Intent intent;
//Home Tab
View view1 = LayoutInflater.from(MainActivity.this).inflate(R.layout.home, null); // R.layout.home is the home.xml where you have entered two image
intent = new Intent(MainActivity.this, Firstclass.class);
spec = tabHost.newTabSpec("HOME").setIndicator(view1)
.setContent(intent);
tabHost.addTab(spec);
//Calendar Tab
View view2 = LayoutInflater.from(MainActivity.this).inflate(R.layout.calendar_tab, null);
intent = new Intent(MainActivity.this, Calendar.class);
spec = tabHost.newTabSpec("CALENDAR").setIndicator(view2)
.setContent(intent);
tabHost.addTab(spec);
Home.xml에게 선택에
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/home_tab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:layout_centerInParent="true"
android:background="@drawable/selector1" />
</RelativeLayout>
을 변경할
selector1.xml state_selec에
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/home_selected" android:state_selected="true"></item>
<item android:drawable="@drawable/home_unselect" android:state_selected="false"></item>
</selector>
ted 이미지가 home_selected 될 수 있지만 선택되지 않은 상태에서는 이미지가 대체됩니다. 각 탭에 대해이 두 xml 파일을 만들어야합니다. 그리고 당신의 문제는 해결 될 것입니다.
문제가 해결되지 않았지만 아이디어를 제공했습니다. 나는이 대답을 받아 들일 것이다. – user3346173