android layout small,android - 在Android XML中,我可以将buttonStyleSmall或Button.Small设置为自定义样式的父样式吗? - 堆栈内存溢...

博主尝试将Android的小按钮风格(buttonStyleSmall)内联样式转换为可重用的自定义样式,但在设置@android:attr/buttonStyleSmall为父级样式后,发现与直接使用内联样式存在差异。问题在于自定义样式未能完全复制buttonStyleSmall的视觉效果,寻求解决方案。
摘要由CSDN通过智能技术生成

我想扩展Android的小按钮风格。 我可以内联:

style="?android:attr/buttonStyleSmall"

android:layout_alignParentRight="true"

android:layout_gravity="right"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:textSize="10dp"

android:text="Click Here"/>

但为了可重用性,我想将这些样式转换为自定义样式。 如何将buttonStyleSmall (或Widget.Button.Small ?)添加为样式的父级? 在我的自定义样式XML中这样的东西:

true

right

wrap_content

wrap_content

2dp

2dp

10dp

使用该样式的按钮声明:

style="@style/RightLink"

android:text="Click Here"/>

编辑

使用下面Lukas描述的正确语法(使用@android:attr/buttonStyleSmall作为父级),我仍然看到两者之间的区别:

使用buttonStyleSmall作为样式和内联样式的按钮:

e97147384fd336a68aaa1d8570be4ac9.png

使用buttonStyleSmall作为父级的自定义样式:

85f0e5df59919948d911349636066a54.png

我错过了什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用android:layout属性自定义布局的preference控件,包含一个button并为该button添加点击事件的完整代码: 首先,在res/xml文件夹创建一个preference XML文件,命名为"custom_preference.xml",代码如下: ```xml <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="Custom Preference"> <Preference android:key="custom_preference" android:title="Custom Preference" android:summary="This is a custom preference" android:layout="@layout/custom_preference_layout"/> </PreferenceCategory> </PreferenceScreen> ``` 接着,在res/layout文件夹创建一个布局文件,命名为"custom_preference_layout.xml",代码如下: ```xml <?xml version="1.0" encoding="utf-8"?> <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/custom_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Custom Button"/> ``` 在这个布局,我们创建了一个Button,并设置了它的id和文本。 最后,在我们的PreferenceFragment或PreferenceActivity,为这个Button添加点击事件,代码如下: ```java public class MyPreferenceFragment extends PreferenceFragmentCompat { @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setPreferencesFromResource(R.xml.custom_preference, rootKey); // 获取自定义布局Button Button customButton = getPreferenceScreen().findPreference("custom_preference") .findViewById(R.id.custom_button); // 为Button添加点击事件 customButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 在这里添加点击事件的逻辑 Toast.makeText(getActivity(), "Custom Button Clicked", Toast.LENGTH_SHORT).show(); } }); } } ``` 在这里,我们首先通过findPreference()方法获取了我们自定义布局的Preference对象,然后通过findViewById()方法获取了布局Button对象。最后,我们为Button对象添加了一个点击事件,当点击时会弹出一个Toast提示。 这就是一个使用android:layout属性自定义布局的preference控件,包含一个button并为该button添加点击事件的完整代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值