将Activity以Dialog的方式显示出来,并不难,只需要在AndroidManifest.xml文件中配置一下就可以了。
把背景设置成圆角也不是很难,可以自己处理,亦可以直接是背景图。。。
在我看来,最难得是去掉黑角。黑角是怎么来的咧?
Activity默认的背景是黑色的,不透明的,当你把背景设置成别的颜色,并且设置成圆角后,Activity本身所占有的空间,是包含了圆角的一个正方形,或者长方形,显示出来的圆角,在我看来,就是把最上面显示的为圆角,最下面的为黑色的正方形,当设置圆角,多出来的部分显示为黑色,就出现了所谓的黑角。。。
在网上找了很多的方法,也忘记了哪种方式成功的设置成了圆角,并且隐藏掉了黑角,现在就根据我自己的看法,来总结一下吧。。。
1.首先是布局文件。这里,千万不要给最外面的父容器添加背景,如果添加了,那么黑角怎么都隐藏不掉了。也许你的黑角也隐藏不掉,看看这里吧,可以试试。。。
这个博客,主要记录的就是这里,不要给最外面的父容器添加背景。。。
<RelativeLayout 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" >
<RelativeLayout
android:layout_width="281.33dip"
android:layout_height="wrap_content"
android:layout_centerInParent="true" >
<TextView
android:id="@+id/member_details_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/member_details_top_bg"
android:gravity="center_vertical"
android:padding="13dip"
android:text="患者健康档案"
android:textColor="@android:color/white"
android:textSize="17sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/member_details_title"
android:background="@drawable/member_details_bottom_bg"
android:orientation="vertical"
android:paddingBottom="20dip"
android:paddingLeft="13dip"
android:paddingRight="13dip"
android:paddingTop="14dip" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="条目"
android:textColor="#FF48ce55"
android:textSize="17sp" />
<LinearLayout
android:id="@+id/member_details_entry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="6dip" >
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="14dip"
android:text="说明"
android:textColor="#FF48ce55"
android:textSize="17sp" />
<TextView
android:id="@+id/member_details_explain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dip"
android:layout_marginTop="6dip"
android:text="患者授权"
android:textColor="#FF6a6c6f"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="14dip"
android:text="备注"
android:textColor="#FF48ce55"
android:textSize="17sp" />
<TextView
android:id="@+id/member_details_remark"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dip"
android:layout_marginTop="6dip"
android:text="患者授权"
android:textColor="#FF6a6c6f"
android:textSize="14sp" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
<style name="QrcodeTheme" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@null</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
3.AndroidManifest.xml文件中的布置
<activity
android:name=".consult.activity.Activity"
android:screenOrientation="portrait"
android:theme="@style/QrcodeTheme"
android:windowSoftInputMode="stateHidden|adjustResize" />
其他的,个人觉得就没什么需要注意的地方了。。。。
-----------------------------------------------------------------------
下面是另外一个项目中,去掉黑角的实现方法,跟上面有一点不同,贴出来,做个对比吧。。。
1.样式
<style name="MySearchTheme" parent="@android:Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
2.布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="1700dp"
android:layout_height="740dp"
android:background="@android:color/transparent" >
<RelativeLayout
android:id="@+id/oper_scre_cond"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/oper_pop_top_bg"
android:paddingTop="20dp" >
<Spinner
android:id="@+id/oper_Hospital"
android:layout_width="124dp"
android:layout_height="38dp"
android:layout_centerVertical="true"
android:layout_marginLeft="30dp" />
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="30dp"
android:layout_toRightOf="@id/oper_Hospital"
android:text="@string/oper_name"
android:textSize="30sp" />
<EditText
android:id="@+id/oper_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/name"
android:background="@drawable/oper_name" />
<TextView
android:id="@+id/medical_record"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="30dp"
android:layout_toRightOf="@id/oper_name"
android:text="@string/medical_record"
android:textSize="30sp" />
<EditText
android:id="@+id/oper_medical_record"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/medical_record"
android:background="@drawable/oper_medical_record" />
<Spinner
android:id="@+id/oper_Modified_type"
style="@android:attr/spinnerStyle"
android:layout_width="164dp"
android:layout_height="38dp"
android:layout_centerVertical="true"
android:layout_marginLeft="30dp"
android:layout_toRightOf="@id/oper_medical_record" />
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="30dp"
android:layout_toRightOf="@id/oper_Modified_type"
android:text="@string/oper_time"
android:textSize="30sp" />
<TextView
android:id="@+id/oper_time_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/time"
android:background="@drawable/oper_name"
android:gravity="center_vertical|center_horizontal" />
<TextView
android:id="@+id/Horizontal_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/oper_time_start"
android:text="@string/horizontal_bar"
android:textSize="30sp" />
<TextView
android:id="@+id/oper_time_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/Horizontal_bar"
android:background="@drawable/oper_name"
android:gravity="center_vertical|center_horizontal" />
<ImageButton
android:id="@+id/oper_query"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="30dp"
android:layout_toRightOf="@id/oper_time_end"
android:background="@drawable/oper_query" />
</RelativeLayout>
<ImageButton
android:id="@+id/oper_return"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_margin="10dp"
android:background="@drawable/oper_close" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/oper_scre_cond"
android:background="@drawable/oper_pop_bottom_bg"
android:paddingTop="30dp" >
<LinearLayout
android:id="@+id/data_format_linear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="238dp"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/oper_name"
android:textSize="30sp" />
<TextView
android:layout_width="238dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/medical_record"
android:textSize="30sp" />
<TextView
android:layout_width="180dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/hospital_state"
android:textSize="30sp" />
<TextView
android:layout_width="180dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/oper_style"
android:textSize="30sp" />
<TextView
android:layout_width="298dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/modify_content"
android:textSize="30sp" />
<TextView
android:layout_width="238dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/operator"
android:textSize="30sp" />
<TextView
android:layout_width="298dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:text="@string/operator_time"
android:textSize="30sp" />
</LinearLayout>
<View
android:id="@+id/oper_view_1"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_below="@id/data_format_linear"
android:layout_marginTop="5dp"
android:background="@drawable/oper_first_dividing" />
<TextView
android:id="@+id/oper_Remind"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/oper_view_1"
android:layout_centerHorizontal="true"
android:text="没有数据"
android:textSize="50sp"
android:visibility="gone" />
<ListView
android:id="@+id/oper_lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/oper_view_1"
android:layout_marginTop="5dp"
android:divider="@drawable/oper_dividing" />
</RelativeLayout>
</RelativeLayout>
3.AndroidManifest.xml文件中的配置
<activity
android:name="com.sinldo.yicard.OperationQueryActivity"
android:screenOrientation="landscape"
android:theme="@style/MySearchTheme"
android:windowSoftInputMode="stateUnchanged|adjustPan" />
好了,这里总共有两套实现方式,供参考吧。。。
这两套方式,在两个项目里面都实现了去掉黑角,以及圆角背景,可以选择的来。。。