android怎样将textview置于imageview之上
https://allenshao.iteye.com/blog/867581
目前看来有三种方法可以实现
1. framelayout, a framelayout is used to stack a TextView on top of an ImageView
- <FrameLayout xmlns:android="https://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <ImageView
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:scaleType="center"
- android:src="@drawable/golden_gate" />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginBottom="20dip"
- android:layout_gravity="center_horizontal|bottom"
- android:padding="12dip"
- android:background="#AA000000"
- android:textColor="#ffffffff"
- android:text="Golden Gate" />
- </FrameLayout>
2. TextView on Canvas。 和framelayout不同,Canvas不是继承自ViewGroup,它不可以添加child views,所以你需要使用drawBitmap和drawText方法去实现
3. 使用merge tag,方法大致和framelayout一样
- <?xml version="1.0" encoding="utf-8"?>
- <!--<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- --><merge xmlns:android="https://schemas.android.com/apk/res/android">
- <ImageView
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:scaleType="center"
- android:src="@drawable/mini" />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:padding="12dip"
- android:textSize="20sp"
- android:textStyle="bold"
- android:textColor="#ffff0000"
- android:text="Mini-Countryman" />
- </merge>
- <!--</LinearLayout>
- -->
具体与framelayout区别参考 https://developer.android.com/resources/articles/layout-tricks-merge.html
最后更新:2017-04-02 17:51:24