public class MainActivity extends Activity {
private EditText mEt;
private LinearLayout mLl;
private HorizontalScrollView mHsv;
// 屏幕宽度
private int mScreenWidth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViews();
initEvernts();
// 获取屏幕宽度
mScreenWidth = getResources().getDisplayMetrics().widthPixels;
// 默认选中第一个
mLl.getChildAt(0).setSelected(true);
}
/**
* 为子view添加事件
*/
private void initEvernts() {
int childCount = mLl.getChildCount();
for (int i = 0; i < childCount; i++) {
// 获取当前子节点
View child = mLl.getChildAt(i);
final int index = i;
child.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 设置选中显示状态
setSelectedStatus(index);
}
/**
* 设置选中显示状态
*
* @param index
*/
private void setSelectedStatus(int index) {
int childCount = mLl.getChildCount();
for (int j = 0; j < childCount; j++) {
// 获取当前子节点
View child = mLl.getChildAt(j);
// 设置是否选中
child.setSelected(j == index);
}
}
});
}
}
public void gotoTab(View v) {
// 获取索引值
int index = Integer.parseInt(mEt.getText().toString());
// 设置选中显示状态
setSelectedStatus(index);
}
private void setSelectedStatus(int index) {
int childCount = mLl.getChildCount();
for (int i = 0; i < childCount; i++) {
// 获得当前子节点
View child = mLl.getChildAt(i);
// 设置是否选中
child.setSelected(i == index);
}
}
private void findViews() {
// 查找view
mHsv = (HorizontalScrollView) findViewById(R.id.horizontalScrollView1);
mLl = (LinearLayout) findViewById(R.id.ll);
mEt = (EditText) findViewById(R.id.et_index);
}
}
2.布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<HorizontalScrollView
android:id="@+id/horizontalScrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dip" >
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:layout_width="90dip"
android:layout_height="wrap_content"
android:background="@drawable/x_bg_selector"
android:gravity="center"
android:padding="5dip"
android:text="热门"
android:textColor="@drawable/x_text_selector"/>
<TextView
android:layout_width="90dip"
android:layout_height="wrap_content"
android:background="@drawable/x_bg_selector"
android:gravity="center"
android:padding="5dip"
android:text="推荐"
android:textColor="@drawable/x_text_selector"/>
<TextView
android:layout_width="90dip"
android:layout_height="wrap_content"
android:background="@drawable/x_bg_selector"
android:gravity="center"
android:padding="5dip"
android:text="头条"
android:textColor="@drawable/x_text_selector"/>
<TextView
android:layout_width="90dip"
android:layout_height="wrap_content"
android:background="@drawable/x_bg_selector"
android:gravity="center"
android:padding="5dip"
android:text="图片"
android:textColor="@drawable/x_text_selector"/>
<TextView
android:layout_width="90dip"
android:layout_height="wrap_content"
android:background="@drawable/x_bg_selector"
android:gravity="center"
android:padding="5dip"
android:text="视频"
android:textColor="@drawable/x_text_selector"/>
<TextView
android:layout_width="90dip"
android:layout_height="wrap_content"
android:background="@drawable/x_bg_selector"
android:gravity="center"
android:padding="5dip"
android:text="笑话"
android:textColor="@drawable/x_text_selector"/>
</LinearLayout>
</HorizontalScrollView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dip"
android:gravity="center"
android:orientation="horizontal">
<EditText
android:id="@+id/et_index"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="索引号"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="gotoTab"
android:text="跳转"/>
</LinearLayout>
</LinearLayout>