<!-- didider 和dividerPadding 可以自动在子元素之间添加分隔符. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"android:layout_height="?android:listPreferredItemHeightSmall"
android:orientation="horizontal"
android:showDividers="middle"
android:divider="?android:dividerVertical"
android:dividerPadding="8dp"
android:gravity="center">
<!-- Dummy text view that will display the name of a random country. -->
<TextView android:id="@android:id/text1"
style="?android:textAppearanceMedium"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:paddingLeft="?android:listPreferredItemPaddingLeft" />
<!-- background属性能够将背景透明,变成同容器的背景一样. -->
<ImageButton android:id="@+id/delete_button"
android:layout_width="48dp"
android:layout_height="match_parent"
android:src="@drawable/ic_list_remove"
android:background="?android:selectableItemBackground"
android:contentDescription="@string/action_remove_item" />
</LinearLayout>
<!--
uiOptions属性指定导航栏右侧的菜单按钮会出现在屏幕的底部位置,Android4.0(API 级别 14)或以上的版本上 , 在manifest文件中的activitiy节点或application节点中添加 uiOptions=“splitActionBarWhenNarrow”属性。API 级别小于 14 , 除了要添加以上属性以外,还需要在activity节点中添加如下节点:
回退键是严格按照用户点击的时间顺序,来进行后退显示之前的屏幕,而Navigating Up导航功能却和时间无关,只和程序的层级关系有关,也就是由你来决定Up点击后到达那个界面
-->
<activity android:name=".ScreenSlideActivity"
android:label="@string/title_screen_slide"
android:parentActivityName=".MainActivity"
android:uiOptions="splitActionBarWhenNarrow">
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>
<!--
通过view.getScrollY()获取的值为0, 通过view.getGlobalVisibleRect(rect, point)能够获取该控件的scrollY,
即该控件到整个屏幕左上角的偏移量(状态栏+导航栏 = 110px + 父容器的paddingLeft(paddingTop))
view.getGlobalVisibleRect(rect, point)的内部执行了globalOffset.set(-mScrollX, -mScrollY);
-->
final TextView textView = (TextView) findViewById(R.id.test_tv);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("@@@", "top = " + textView.getTop() + " , scrollY = " + textView.getScrollY());
final Point globalOffset = new Point();
final Rect startBounds = new Rect();
textView.getGlobalVisibleRect(startBounds, globalOffset);
Log.d("@@@", "offset = " + globalOffset.toString());
}
});
获取acntionBar的高度
TypedValue tv = new TypedValue();
context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true);
mDefaultTabStripSize = context.getResources().getDimensionPixelSize(tv.resourceId);