转载请注明出处:http://blog.csdn.net/droyon/article/details/37564419
非常多人有如标题所述的需求,并且大多数人採用了自己定义组件攻克了需求,事实上还能够有更“懒”的方法。
1、先附效果图:
2、方案。
首先,Activity.java
public class MainActivityTest extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main1); } }其次,xml布局文件
<LinearLayout 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" android:orientation="vertical" tools:context=".MainActivity" > <Button android:id="@+id/btn_ok0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableTop="@drawable/ic_launcher" android:text="@string/hello_world" /> <Button android:id="@+id/btn_ok1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableBottom="@drawable/ic_launcher" android:text="@string/hello_world" /> <Button android:id="@+id/btn_ok2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@drawable/ic_launcher" android:text="@string/hello_world" /> <Button android:id="@+id/btn_ok3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableRight="@drawable/ic_launcher" android:text="@string/hello_world" /> </LinearLayout>
3、解析。
关键代码就是布局文件里的android:drawableBottom,drawableBottom这个属性(attr)属于TextView解析的范畴,我们使用的Button,它继承自TextView,因而可以使用此属性完毕Drawable的布局。