Pab*_*s84 1 android button imagebutton android-layout
我正在使用按钮(或ImageButtons)来显示我的应用程序的图标.我使用它来设置按钮的状态,按下按钮的图像和按下按钮的另一个图像:
selector(this, favorites, R.drawable.icon_star_mark, R.drawable.icon_star_mark_selected);
public static void selector(Context c, Button b, int normal_image, int pressed_image){
StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed}, c.getResources().getDrawable(pressed_image));
states.addState(new int[] { }, c.getResources().getDrawable(normal_image));
b.setBackgroundDrawable(states);
}
Run Code Online (Sandbox Code Playgroud)
我需要将文本放在图标下方,但我想学习它而不使用带有图标和文本视图的LinearLayout.如果有可能实现它,我想学习这样做.
这是我创建图标的方式:
Button map= new Button(this);
selector(this, map, R.drawable.icon_map, R.drawable.icon_map_selected);
map.setText("Map");
Run Code Online (Sandbox Code Playgroud)
问题是文本显示在图标上方,而不是图标下方.
使用java代码可以实现这一点吗?(将图标文本放在图标下方,而不使用图标下方带有textview的线性布局)
提前致谢
可以使用drawableTop属性.选择器进入android:background,图标进入android:drawableTop attr.
<Button
android:id="@+id/btn"
style="@style/DashboardButton"
android:drawableTop="@drawable/any_drawable"
android:text="@string/any_text" />
Run Code Online (Sandbox Code Playgroud)
或者您可以使用编程方式设置drawable button.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom);
| 归档时间: |
|
| 查看次数: |
4556 次 |
| 最近记录: |