相关疑难解决方法(0)

如何更改AlertDialog标题的颜色以及其下方的线条颜色

我使用此命令更改了AlertDialog标题的颜色

alert.setTitle( Html.fromHtml("<font color='#FF7F27'>Set IP Address</font>"));
Run Code Online (Sandbox Code Playgroud)

但我想改变标题下出现的线条的颜色; 我怎样才能做到这一点 ?

注意:我不想使用自定义布局

所需效果的屏幕截图

android android-alertdialog

107
推荐指数
5
解决办法
13万
查看次数

MaterialComponents主题警告对话框按钮

最近我从支持库切换到com.google.android.material:material:1.0.0

但是现在我有一个问题,在这个页面上有一个注释https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md

注意:使用"材质成分"主题可启用自定义视图填充程序,该填充程序将使用"材质"对应项替换默认组件.目前,这仅使用MaterialButton替换Button XML组件.

我正在使用的主题

Theme.MaterialComponents.Light.NoActionBar
Run Code Online (Sandbox Code Playgroud)

它完全按照它在说明中所说的,它将AlertDialog按钮替换为MaterialButtons,但问题是默认情况下MaterialButtons是彩色背景,现在按钮看起来像这样: 在此输入图像描述

我怎样才能让它们再次无边界和无背景?

PS我正在使用警报构建器来创建警报对话框:

android.app.AlertDialog.Builder
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog android-styles material-design material-components-android

49
推荐指数
7
解决办法
8552
查看次数

Android - 在onClick上更改应用主题

我知道有一种方法可以在按钮点击时更改应用程序默认主题.Blackmart开发人员已经做到了.我已经在Google上搜索了1000页,但我发现这个(不工作)

getApplication().setTheme(Theme.Holo)
Run Code Online (Sandbox Code Playgroud)

由于我已经在res/values/styles.xml中创建了一个新样式,还有其他方法可以动态更改它吗?甚至重启应用程序?

java xml android themes styles

48
推荐指数
1
解决办法
7万
查看次数

更改AlertDialog中的按钮颜色

如何AlertDialog在Android中更改按钮的颜色?

alert android dialog colors button

40
推荐指数
7
解决办法
7万
查看次数

将活动显示为对话框时如何自定义宽度和高度

如果我已经定义了一个Activity:

public class DialogActivity extends Activity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(dialog_activity.xml);
    }


}
Run Code Online (Sandbox Code Playgroud)

想像对话框一样显示上面的活动,所以在AndroidManifest.xml文件中,我声明这个活动如下:

<activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog"/>
Run Code Online (Sandbox Code Playgroud)

此时一切都很好,我DialogActivity表现为对话.

问题是如何自定义宽度和高度DialogActivity使其更像一个小对话框?(目前它默认占据大部分屏幕)

----------------------------更新--------------------- -

我定义了一个自定义主题如下:

<style name="myDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>

        <item name="android:width">100dip</item> 
        <item name="android:height">100dip</item>

</style>
Run Code Online (Sandbox Code Playgroud)

然后,DialogActivityAndroidManifest.xml中声明为.

<activity android:name=".DialogActivity" android:theme="@style/myDialog"/>
Run Code Online (Sandbox Code Playgroud)

DialogActivity现在甚至占据整个屏幕:(.宽度高度定义:

<item name="android:width">100dip</item>
Run Code Online (Sandbox Code Playgroud)

在主题上没有任何效果,为什么?

android android-widget android-manifest android-emulator android-layout

30
推荐指数
1
解决办法
4万
查看次数

如何设置对话框按钮文本的字体大小

我有一个Android应用程序,它使用一些从XML布局膨胀的自定义对话框.对话框视图的内容来自XML布局,但实际的正面和负面按钮是通过调用构建器的setPositiveButton和setNegativeButton方法添加的,因此我无法控制(或至少不知道如何控制)样式按钮本身.

请参阅我的LoginConfirmationDialog.java文件中的onCreateDialog方法,该文件扩展了DialogFragment.它基本上弹出一个非常简单的对话框,要求确认谁登录(即"你是Joe Schmoe吗?",带有Yes和No按钮).

在这种情况下,XML布局只有一个TextView,为了简化这一点(因为用户将是需要大文本和大按钮的大手指脏手指的建筑工人),我使TextView的字体非常大.这两个按钮的文字字体要小得多,因为它们不是我的布局的一部分,并且添加了setPositiveButton和setNegativeButton方法,我该如何控制字体大小?

@Override    
public Dialog onCreateDialog(Bundle savedInstanceState) {

    Bundle args = this.getArguments();

    String empName = args.getString("empName");         

    // Use the Builder class for convenient dialog construction        
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 

    View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_login_confirmation, null);

    TextView message = (TextView)view.findViewById(R.id.txtLoginConfirmationMessage);
    message.setText("Are you " + empName + "?");

    builder.setView(view);      

    builder.setPositiveButton("Yes", 
            new DialogInterface.OnClickListener() {                   
                public void onClick(DialogInterface dialog, int id) {
                    mListener.onEmpConfirmPositiveClick(LoginConfirmationDialog.this);
                }               
            });               
    builder.setNegativeButton("No", 
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    mListener.onEmpConfirmNegativeClick(LoginConfirmationDialog.this);
                }
            });  

    // Create the …
Run Code Online (Sandbox Code Playgroud)

java android android-dialogfragment

11
推荐指数
2
解决办法
2万
查看次数

AlertDialog的轻主题?

我正在创建一个AlertDialog.我正在使用setView()来设置自定义视图.这将在对话框中启用"暗"主题(灰色背景,并需要白色文本).

有没有办法设置对话框使用'轻'主题?它看起来更好(白色背景,深色文字).

谢谢

android

9
推荐指数
1
解决办法
1万
查看次数

动画 AlertDialog 的入口和出口

我必须AlertDialog在它进入时滑入并在它被解散时滑出,但它没有动画。

那么如何让动画工作呢?

这是我所拥有的

public class SlideDialogFragment extends DialogFragment {
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
              return  new AlertDialog.Builder(new ContextThemeWrapper(getActivity(),R.style.SlidingDialog))
                      .setTitle("Sliding dialog")
                      .create()
     }
Run Code Online (Sandbox Code Playgroud)

主题文件

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="SlidingDialog" parent="@android:style/Theme.DeviceDefault.Dialog">
        <item name="android:windowAnimationStyle">@style/SlidingDialogAnimation</item>
    </style>
    <style name="SlidingDialogAnimation">
        <item name="android:windowEnterAnimation">@android:anim/slide_in_left</item>
        <item name="android:windowExitAnimation">@android:anim/slide_out_right</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

我参考了太多资源,似乎没有一种适合我的正确方法可以做到这一点,可能是我遗漏了一些东西

我在用

  • 安卓系统
  • 应用程序是为 API 15+ 构建的

以下是一些我无法从中得到答案的相关资源

animation android android-alertdialog android-dialogfragment

9
推荐指数
1
解决办法
7598
查看次数

AlertDialog背景颜色

我正在使用具有自定义布局的AlertDialog.TextView中的布局的颜色是黑色的,所以用Holo.Light在Android 4.0打开对话框时,该文本是可见的.但是,如果您在Android 2.2中打开对话框,则由于灰色背景,文本不可见.有没有办法改变背景颜色?

android android-alertdialog

7
推荐指数
2
解决办法
2万
查看次数

在5.0+上更改对话框文本颜色

我正在尝试更改对话框中的文本颜色,最常见的是AlertDialog.我在这些页面上尝试了所有解决方案:

AlertDialog样式 - 如何更改标题,消息等的样式(颜色)

如何更改AlertDialog标题的颜色以及其下方的线条颜色

如何更改AlertDialog的主题

大多数解决方案的工作低于5.0但高于它,它们似乎没有任何影响.我应该为5.0+更改哪些不同的属性?

我的应用程序的父主题是"Theme.AppCompat.Light.NoActionBar"

android dialog

7
推荐指数
1
解决办法
9369
查看次数