我希望我的選項卡在圖像中以小三角形的形式顯示,如果可以,請使用代碼或文檔幫助我。使用下面的小三角設置選定的選項卡
5
A
回答
11
我認爲,以下方法是最簡單的一個。你只需要安裝以下繪製(實際上,它是標籤Android的默認繪製)作爲標籤的背景:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected" />
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected" />
<!-- Focused states -->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_focus" />
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_focus" />
<!-- Pressed -->
<item android:state_pressed="true" android:drawable="@drawable/tab_press" />
</selector>
其中tab_press
,tab_focus
和tab_selected
繪項目將是巴新(我寧願9-patches)與向下箭頭和靠近它的透明區域。 tab_unselected
drawable不會有這個箭頭,但仍然會有相同的透明區域。剩下的唯一事情就是爲您的TabWidget
指定負底部餘量。它的值由箭頭的高度決定(不要忘記使用density independent單位):
-2
您可以將圖片與標籤佈局:
<RelativeLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="0dip" />
<FrameLayout
android:fadingEdge="none"
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0px"
android:layout_below="@android:id/tabs"
android:layout_alignParentBottom="true"
android:padding="0px" />
<ImageView
....
android:id="@+id/down_arrow_left"/>
<ImageView
....
android:id="@+id/down_arrow_right"/>
</RelativeLayout>
,並在標籤活動添加監聽器:
getTabHost().setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
if (tabId.equels("left")){
findViewById(R.id.down_arrow_left).setVisibility(View.VISIBLE);
findViewById(R.id.down_arrow_right).setVisibility(View.INVISIBLE);
} else if (tabId.equels("right")){
findViewById(R.id.down_arrow_left).setVisibility(View.INVISIBLE);
findViewById(R.id.down_arrow_right).setVisibility(View.VISIBLE);
}
}
});
0
tab_0_info.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_menu_yourImg_selected"
android:state_selected="true" />
<item android:drawable="@drawable/ic_menu_yourImg" />
</selector>
private void addTab(int resouceTabId, int drawableId,
Class<? extends ActivityGroup> groupActivityClass)
{
Intent intent = new Intent(this, groupActivityClass);
TabHost.TabSpec spec = tabHost.newTabSpec("tab" + resouceTabId);
View tabIndicator = LayoutInflater.from(this).inflate(
R.layout.tab_indicator, getTabWidget(), false);
TextView title = (TextView) tabIndicator.findViewById(R.id.title);
title.setText(resouceTabId);
ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
icon.setImageResource(drawableId);
spec.setIndicator(tabIndicator);
spec.setContent(intent);
tabHost.addTab(spec);
}
//addTab(R.string.yourTabTitle, R.drawable.tab_0_info, YourGroup.class);
相關問題
- 1. Jquery UI選項卡 - 選定的選項卡更小的行高 - >最後一個選項卡打破設計
- 2. 設置CSS/JS選項卡的默認選擇選項卡
- 3. 設置一定的選項卡上的自定義選項卡的jQuery
- 4. 如何設置選項卡2在啓動選項卡頁面設置爲默認選項卡
- 5. 添加選項卡與選定的假但選項卡設置顏色tabSelectedTextColor
- 6. 設置選項卡的下角,拐角半徑的標籤導航
- 7. jQuery UI選項卡 - IE中的圓角選項卡角落
- 8. 如何設置選項卡容器中的活動選項卡而不使用選項卡的索引?
- 9. 如何在不保留選項卡的選項卡之外設置根頁面?
- 10. UIB選項卡 - 設置第二個選項卡是活動的
- 11. 使用按鈕而不是選項卡設置jquery選項卡的Cookie
- 12. 爲選項卡式頁面選項卡文本設置自定義字體大小
- 13. 設置選項卡索引
- 14. JQuery選項卡 - 使選定的選項卡可點擊
- 15. 選定的選項未設置在新的瀏覽器窗口選項卡
- 16. 使用jQuery的選項卡式界面,不能使'當前'選項卡採取opacitiy設置
- 17. 的Android動作條選項卡上設置最初選擇的選項卡
- 18. 在Java代碼中設置選定的選項卡指示器
- 19. 如何以編程方式設置選定的選項卡SlidingTabLayout
- 20. 通過選定的jQuery選項卡設置URL
- 21. 設置選定的選項卡沒有selectedIndexChanged事件觸發
- 22. JQuery UI選項卡 - 在選項卡下面沒有行邊框
- 23. 使用jQuery選擇的設置選項
- 24. 無法在角JS中設置選定的選項?
- 25. 設置默認選項卡/頁面選擇
- 26. WPF選項卡控件:設置選項卡顏色?
- 27. 在jQuery UI選項卡中設置默認焦點選項卡
- 28. 爲AJAX選項卡控件設置活動選項卡
- 29. 編輯器選項卡的eclipse設置
- 30. 強制設置jquery的選項卡
這就是幫一個小bit.just粗糙地緣ABOT – 2012-03-03 06:17:19
查看我添加的圖片。它應該澄清我的建議。 – 2012-03-03 10:14:39
真的很棒的答案。 – Akram 2012-03-03 10:46:11