<input type="submit" name="submit_button" value="" style="background:url(imagepath) no-repeat" />
这种设置方法在FF下可见,但是在IE下不可见,不知道为什么.反正我测试时IE下是不可见的,换成这样也不行:background-image\backgroundimage
另一种方法就是用CSS来设置,实现方法如下:
<style type="text/css">
.submitStyle {background:url(imagpath)border:0px}
</style>
这种方法是比较好的,因为在IE或FF下都能正常显示.
除了Android系统自带的Button按钮以外,还提供了带图标的按钮ImageButton要制作带图标的按钮,首先要在布局文件中定义ImageButton,然后通过setImageDrawable方法来设置要显示的图标。
注意:
我们可以在布局文件中就直接设置按钮的图标,如
android:src=”@drawable/icon1″
我们也可以在程序中设置自定义图标
imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.icon2))
我们还可以使用系统自带的图标
imgbtn4.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_call_incoming))
设置完按钮的图标后,需要为按钮设置监听setOnClickListener,以此捕获事件并处理
下面的例子讲述的是由4个图标按钮组成的布局,其中三个按钮的图标是自定义的,第四个按钮的图标是系统的,当点击按钮1的时候,d出dialog,当点击按钮2的时候,点击确定后,可以将按钮2的图标变成按钮3的图标,当点击按钮3的时候,按钮3的图标变成了系统打电话的图标,点击按钮4,显示一个提示dialog
ImageButtonTest.java源代码
package org.loulijun.imagebutton
import android.app.Activity
import android.app.AlertDialog
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.ImageButton
import android.widget.TextView
public class ImageButtonTest extends Activity {
/** Called when the activity is first created. */
TextView textview
ImageButton imgbtn1
ImageButton imgbtn2
ImageButton imgbtn3
ImageButton imgbtn4
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
textview=(TextView)findViewById(R.id.textview)
//分别取得4个ImageButton对象
imgbtn1=(ImageButton)findViewById(R.id.imagebutton1)
imgbtn2=(ImageButton)findViewById(R.id.imagebutton2)
imgbtn3=(ImageButton)findViewById(R.id.imagebutton3)
imgbtn4=(ImageButton)findViewById(R.id.imagebutton4)
//分别为ImageButton设置图标
//imgbtn1已经在main.xml布局中设置了图标,所以就不在这里设置了(设置图标即可在程序中设置,也可在布局文件中设置)
imgbtn2.setImageDrawable(getResources().getDrawable(R.drawable.icon))//在程序中设置图标
imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.icon2))
imgbtn4.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_call_incoming))//设置系统图标
//下面为各个按钮设置事件监听
imgbtn1.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
.setTitle("提示")
.setMessage("我是ImageButton1")
.setPositiveButton("确定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//相应的处理 *** 作
}
}).create()
dialog.show()
}
})
imgbtn2.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
.setTitle("提示")
.setMessage("我是ImageButton2,我要使用ImageButton3的图标")
.setPositiveButton("确定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
imgbtn2.setImageDrawable(getResources().getDrawable(R.drawable.icon2))
}
}).create()
dialog.show()
}
})
imgbtn3.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
.setTitle("提示")
.setMessage("我是ImageButton3,我想使用系统打电话的图标")
.setPositiveButton("确定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
imgbtn3.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_action_call))
}
}).create()
dialog.show()
}
})
imgbtn4.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
.setTitle("提示")
.setMessage("我是使用的系统图标")
.setPositiveButton("确定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//相应的处理 *** 作
}
}).create()
dialog.show()
}
})
}
}
布局文件main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="ImageButton测试案例"
/>
<ImageButton
android:id="@+id/imagebutton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon1"
/>
<ImageButton
android:id="@+id/imagebutton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<ImageButton
android:id="@+id/imagebutton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<ImageButton
android:id="@+id/imagebutton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
应用程序图标(Icon)应当是一个
Alpha
通道透明的32位
PNG
图片。由于安卓设备众多,一个应用程序图标需要设计几种不同大小,如:
LDPI
(Low
Density
Screen,120
DPI),其图标大小为
36
x
36
px。
MDPI
(Medium
Density
Screen,
160
DPI),其图标大小为
48
x
48
px。
HDPI
(High
Density
Screen,
240
DPI),其图标大小为
72
x
72
px。
xhdpi
(Extra-high
density
screen,
320
DPI),其图标大小为
96
x
96
px。
建议在设计过程中,在四周空出几个像素点使得设计的图标与其他图标在视觉上一致,例如,
96
x
96
px
图标可以画图区域大小可以设为
88
x
88
px,
四周留出4个像素用于填充(无底色)。
72
x
72
px
图标可以画图区域大小可以设为
68
x
68
px,
四周留出2个像素用于填充(无底色)。
48
x
48
px
图标可以画图区域大小可以设为
46
x
46
px,
四周留出1个像素用于填充(无底色)。
36
x
36
px
图标可以画图区域大小可以设为
34
x
34
px,
四周留出1个像素用于填充(无底色)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)