如何在IamgeButton上面添加文字

如何在IamgeButton上面添加文字?

首先要知道,IamgeButton是不可以直接添加文字的。所以我们需要间接制作一个Button按钮

我的代码将会展示另外一个例子,与本文中的代码相似。

 

本文是将FrameLayout制作成一个Button按钮,可以被点击。利用了FrameLayout的可重叠性。

btnStartService.setClickable(true);//这个是重要添加的地方

这是java文档

public class MainActivity extends AppCompatActivity {

   → private FrameLayout btnbtnStartService=null;

   → private FrameLayout btnbtnStopService=null;//类似于创建Button按钮

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        btnbtnStartService=(☆FrameLayout)findViewById(R.id.btnStartService);

        btnbtnStopService=(☆FrameLayout)findViewById(R.id.btnStopService);//强制类型转换的时候注意一下

    →    btnbtnStartService.setClickable(true);//要将该值确认为可以点击。到此,基本上一个Framalayout按钮已经做好了

    →    btnbtnStopService.setClickable(true);

        btnbtnStartService.setOnClickListener(listener);

        btnbtnStopService.setOnClickListener((listener));

 

PS:可以从中获得启发。制作一个文字式的点击效果也不错啊。

下面展示布局文件:

 

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout

                 ……此处省略……                

                                                                   >

        <FrameLayout

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_alignParentBottom="true"

                android:layout_alignParentLeft="true"

                android:id="@+id/btnStartService">

                <ImageView

                    android:textAllCaps="false"

                    android:layout_width="75dp"

                    android:layout_height="75dp"

                    android:background="@drawable/selector"/>

                <TextView

                    android:layout_width="wrap_content"

                    android:layout_height="wrap_content"

                    android:text="Start Service"

                    android:textSize="20px"

                    android:textColor="@color/white"

                    android:layout_gravity="center" />

        </FrameLayout>

        <FrameLayout

                    android:layout_width="wrap_content"

                    android:layout_height="wrap_content"

                    android:layout_gravity="right|bottom"

                    android:layout_alignParentBottom="true"

                    android:layout_alignParentRight="true"

                    android:id="@+id/btnStopService">

                    <ImageButton

                        android:textAllCaps="false"

                        android:layout_width="75dp"

                        android:layout_height="75dp"

                        android:background="@drawable/selector"

                        />

                    <TextView

                        android:layout_width="wrap_content"

                        android:layout_height="wrap_content"

                        android:textSize="20px"

                        android:text="Stop Service"

                        android:textColor="@color/white"

                        android:layout_gravity="center"

                        />

        </FrameLayout>

            />

</RelativeLayout>

这个是效果图:↓↓↓↓↓↓↓↓↓↓

点击之后:↓↓↓↓↓↓↓↓↓↓

 

附录:另外一个完整简单版例子代码。

Activity:

package com.example.simuhunluo.hava_a_tryfor_imgandtext;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private FrameLayout btn=null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn=(FrameLayout)findViewById(R.id.real_btn);
        btn.setLongClickable(true);
        btn.setOnClickListener(listener);
    }
    private View.OnClickListener listener =new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this,"按钮制作成功",Toast.LENGTH_SHORT).show();
        }
    };
}

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<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"
    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="com.example.simuhunluo.hava_a_tryfor_imgandtext.MainActivity">
    <FrameLayout
        android:id="@+id/real_btn"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/acrobat"/><!--此处的图片请自己添加-->
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="First!"
            android:textSize="60px"
            android:textColor="#7CFC00"
            android:layout_gravity="center"/>
    </FrameLayout>
</RelativeLayout>

 

posted @ 2016-08-19 21:13  须小弥  阅读(488)  评论(0编辑  收藏  举报