我有一个动态判断,所以我用java设置了drawable。
我的问题是,我不知道调整我的图像位置很热,我尝试在xml中使用android:drawablePadding=""
,在java中使用setCompoundDrawablePadding();
。
他们都改变了我的文字位置而不是图像。
我仍然尝试更改drawable.setBounds()
设置,但看起来更改比例而不是位置。
如何更改按钮内的图像?任何帮助,将不胜感激。提前谢谢。
这是我的bttuon.xml:
<Button
android:id="@+id/goToPersonalPage"
android:layout_width="145dp"
android:layout_height="50dp"
android:layout_marginLeft="20dp"
android:background="@drawable/button_oval"
android:text="@string/memberButton"
android:textColor="#29395e"
android:textSize="18dp" />
这是关于按钮的代码:
goToPersonalPage.setCompoundDrawables(setIcon(R.drawable.btn_member_green_128x128), null, null, null);
setIcon函数是:
private Drawable setIcon(int id) {
Drawable drawable = getResources().getDrawable(id);
drawable.setBounds(0, 0, (int) (drawable.getIntrinsicWidth() * 0.2),
(int) (drawable.getIntrinsicHeight() * 0.2));
return drawable;
}
答案 0 :(得分:1)
当您动态添加内容时,您可以为按钮布局创建 LayoutParams ,然后在其上设置边距,然后使用setCompoundDrawablesWithIntrinsicBounds
应用于按钮视图。< / p>
private LinearLayout.LayoutParams viewGroup = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
viewGroup.setMargins(dimens, dimens, dimens, dimens);
goToPersonalPage.setCompoundDrawablePadding(10);
goToPersonalPage.setCompoundDrawablesWithIntrinsicBounds(R.drawable.btn_member_green_128x128,0,0,0);
goToPersonalPage.setLayoutParams(this.viewGroup);
答案 1 :(得分:1)
添加android:paddingLeft="20dp"
为您添加左侧填充Button
<Button
android:id="@+id/goToPersonalPage"
android:layout_width="145dp"
android:layout_height="50dp"
android:layout_marginLeft="20dp"
android:background="@drawable/button_oval"
android:text="@string/memberButton"
android:textColor="#29395e"
android:paddingLeft="20dp"
android:textSize="18dp" />
使用android:gravity="right"
更改TextView
的位置。
答案 2 :(得分:1)
只需添加要指定的填充 - :
def count_of_each_categories(self,y_train=None,y_test=None,technology_segment=None):
"""
:param y_train:
:param y_test:
:return:
"""
df_train = pd.DataFrame()
df_train[technology_segment] = y_train
df_test = pd.DataFrame()
df_train['freq'] = df_train[technology_segment].value_counts()
df = pd.DataFrame()
df['freq'] = df_train[technology_segment].value_counts()
ax = plt.subplot(111, frame_on=False) # no visible frame
ax.xaxis.set_visible(False) # hide the x axis
ax.yaxis.set_visible(False) # hide the y axis
# df.plot()
table(ax, df,cellLoc = 'center', rowLoc = 'center',
loc='top') # where df is your data frame
plt.show()
plt.savefig(r"/Users/nitesh/OneDrive/Work/GE_Python_Workspace/ClassifierApproaches/Excel Documents/"
r"Fintech/mytable.png")