S.A*_*Jay 6 android android-ui android-layout android-tabhost
因此,android不遗余力地为每个人构建这个漂亮的UI指南.但我没有看到任何地方显示如何构建这些元素的代码示例.
可在此处找到选项卡的UI准则.http://developer.android.com/design/building-blocks/tabs.html.
有谁知道如何创建像这样的标签?

任何帮助将不胜感激,谢谢.
解决方案张贴
好了,所以这就是我最后做的事情,可能是浪费了大约10个小时试图做出一些好看的标签.

首先,我废弃了使用android的tab实现的整个想法.出于一个原因,选项卡主机小部件被假定为操作栏不推荐使用,但操作栏仅适用于Android 3.
我终于弄清楚,如果使用线性布局并作为线性布局的背景,我会放置我想要使用的图像(使用9个补丁图像).然后创建另一个linearlayout和textview,以便将文本放在该linearlayout的顶部.然后使您的线性布局可点击.然后,当您获得更高级时,您可以使线性布局背景成为xml选择器,您很高兴.如果你没有得到所有这些是我的代码.
的LinearLayout
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:background="@color/main_screen_bg_color"
android:orientation="horizontal"
android:padding="2dp" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/selector_not_current"
android:clickable="true"
android:onClick="onClickSub"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="Example 1"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/selector_current"
android:clickable="true"
android:onClick="onClickFoodDetails"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="Example 2"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
示例选择器
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/selected_pressed_tab" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/selected_pressed_tab" /> <!-- focused -->
<item android:drawable="@drawable/selected_tab" /> <!-- default -->
Run Code Online (Sandbox Code Playgroud)
希望这有助于每个人.Android标签太难以令人讨厌,因为从头开始创建我自己更容易.祝好运!
做这样的事情.
这是一个完整的工作代码.请享用
某些地方在oncreate活动方法中扩展Tabactivity
tabHost = getTabHost();
Intent intent;
intent = new Intent().setClass(this, FirstActvity.class);
setupTab("NearBy", intent, R.drawable.firsttabdrawable);
intent = new Intent().setClass(this, SecondActivity.class);
setupTab("History", intent, R.drawable.secondtabdrawable);
intent = new Intent().setClass(this, ThirdActivity.class);
setupTab("Setting", intent, R.drawable.thirdtabdrawable);
Run Code Online (Sandbox Code Playgroud)
将setupTab方法定义为
private void setupTab(String tag, Intent intent, int selectorId) {
View tabView = LayoutInflater.from(tabHost.getContext()).inflate(R.layout.view, null);
tabView.setBackgroundResource(selectorId);
TabSpec setContent = tabHost.newTabSpec(tag).setIndicator(tabView).setContent(intent);
tabHost.addTab(setContent);
}
Run Code Online (Sandbox Code Playgroud)
view.xml为
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
和drawable文件夹中的firsttabdrawable.xml为
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/selectedfirsttabimage"
android:state_selected="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/notselectedfirsttabimage" />
</selector>
Run Code Online (Sandbox Code Playgroud)
以相同的方式定义secondtabdrawable.xml和thirddrawable.xml
| 归档时间: |
|
| 查看次数: |
21814 次 |
| 最近记录: |