标签: android-theme

对话主题活动:正面和负面按钮

我试图将一项活动作为主题AlertDialog.我面临的问题是我无法找到一种方法将两个按钮放在我的窗口底部,看起来像是正面和负面的按钮.AlertDialog

我已经将该行添加到清单中的Activity(我正在使用Sherlock Library):

android:theme="@style/Theme.Sherlock.Dialog"
Run Code Online (Sandbox Code Playgroud)

活动看起来就像一个Dialog,但我找不到按钮设置的主题.我能做什么?

android android-theme android-dialog

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

在Android中运行时更改和应用主题

可能重复:
如何在Android中运行时更改当前主题

我有一个Android应用程序,我允许用户在运行时切换主题.切换主题很简单,但在重新创建活动之前不会应用主题.我找到了一种方法将主题应用于当前活动,但如果用户按下后退按钮,之前的屏幕仍然具有旧主题.如何更改这些活动的主题?支持它的应用程序示例:任务免费

android themes android-theme android-activity

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

将标题重力设置为ActionBarSherlock中心

您好我想为我的主要活动应用自定义Backgroundlayout.我找不到解决方案.有人可以给我一些提示吗?

想在Actionbar中只有一个带背景的简单TextView.这可能吗?

我设法删除图标并设置backgroundimage.但是,如何将文本的重力设置为居中并更改typefont?

getSupportActionBar().setDisplayShowHomeEnabled(false);
    getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(myimage)); 
Run Code Online (Sandbox Code Playgroud)

它应该如下所示: 在此输入图像描述

谢谢!

android android-theme actionbarsherlock android-actionbar

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

半透明主题的问题

我有一个有两个活动的应用程序.第一个显示一个按钮,打开第二个按钮.

这是第一个最明智的定义:

<activity
    android:name="com.example.buttonexample.MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

第二项活动:

<activity
    android:name="com.example.buttonexample.MainActivity2"
    android:label="@string/title_activity_main_activity2" android:theme="@android:style/Theme.Translucent">
</activity>
Run Code Online (Sandbox Code Playgroud)

以下是我如何启动第二个活动(通过OnClickListener获取第一个活动上的按钮):

public void startSecondActivityClick(View v) {
   Intent startActivity2 = new Intent(this, MainActivity2.class);
   startActivity(startActivity2);
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是当我通过击中主页和应用程序的前景来后台应用程序.我注意到第一个活动是不断创造/摧毁自己.我通过在onDestory方法中添加一些代码来增加静态int来验证这一点:

private static int count = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    count++;

}

protected void onDestroy() {
    super.onDestroy();
    Log.i("MainActivity", String.format("Destroyed, %d", count));
}
Run Code Online (Sandbox Code Playgroud)

我也注意到删除半透明主题似乎解决了这个问题.我的问题是有没有办法半透明或类似的东西,但也没有重新启动?而且,我很好奇为什么会发生这种情况.我正在使用Galaxy SIII上的4.0.1 ICS进行测试.

android android-theme

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

从嵌套样式资源中检索值的语法?

由于DrawerLayout是Android活动的chrome的一部分,抽屉的可能背景颜色似乎是操作栏的背景颜色,因此它们匹配.因此,我想设置ListView抽屉内容与操作栏具有相同的背景颜色,我想在定义的布局XML中这样做ListView.

在这里,我迷失在Android风格系统的迷人小通道的迷宫中......

我知道?android:attr/语法允许您通过引用引用活动使用的主题中定义的值(例如,?android:attr/activatedBackgroundIndicator作为列表项行的背景以使用"激活"状态).

我知道这android:actionBarStyle是主题指向用于设置操作栏本身样式的样式的位置,并且在嵌套(?)样式上,android:background是用于操作栏的背景.

我不知道的是如何制作一个?android:attr/应用于a ListView,从动作栏定义的样式中拉出背景.

这可能吗?如果是这样,语法是什么?

我猜这是不可能的,这就是官方DrawerLayout样本硬编码背景颜色的原因......

谢谢!

android android-theme

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

继承自Theme.AppCompat*

目前正致力于在支持库中迁移到ActionBar.目前正在尝试迁移我的旧主题继承,Theme.AppCompat.Light.DarkActionBar但它并不是很顺利.

如果我在清单中应用主题就可以了:

<activity
    android:name="com.fitsby.LoginActivity"
    android:screenOrientation="portrait"
    android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
</activity>
Run Code Online (Sandbox Code Playgroud)

但是我得到一个运行时错误,声明LoginActivity(ActionBarActivity的子类)必须有一个继承自Theme.AppCompat的主题,当我执行以下操作时:在styles.xml中:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:typeface">sans</item>   
</style> 
Run Code Online (Sandbox Code Playgroud)

并在清单中:

<activity
    android:name="com.fitsby.LoginActivity"
    android:screenOrientation="portrait"
    android:theme="@style/AppTheme" >
</activity>
Run Code Online (Sandbox Code Playgroud)

任何想法为什么会发生这种情况?我没有看到任何问题,因为AppTheme显然继承了AppCompat主题之一.

android android-theme

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

如何制作透明的AppCompat风格?

我的活动风格必须来自AppCompat主题.

所以我在清单中制作自定义样式并设置活动样式.

但是显示了黑色背景.

以下是自定义主题

<style name="TransparentTheme" parent="@style/Theme.AppCompat">

    <item name="android:background">@null</item>
    <item name="background">@null</item>

    <item name="android:windowBackground">@null</item>
    <item name="android:colorBackgroundCacheHint">@null</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-theme android-styles

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

更改PreferenceActivity中片段的突出显示和标题颜色

我正在使用Material主题,我想更改下图中两个标记区域的颜色 - 即高亮颜色(#1)和细节片段中标题的颜色(#2).

我知道主题中每个地方的颜色都有一个属性,但我似乎无法找到它.

在此输入图像描述

有任何想法吗?

android android-theme

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

在Android中悬停时设置菜单项背景颜色

我的应用程序中有菜单项,我想更改项目背景的颜色,点击它时(请参见屏幕截图 - 单击项目1)

单击项目1

我只想要一种颜色 - 浅蓝色或深色.但是,正如您所看到的,第一个项目中有两个.

这是我的代码:

活动中的工具栏:

    <android.support.v7.widget.Toolbar
            xmlns:sothree="http://schemas.android.com/apk/res-auto"
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/main_toolbar"
            sothree:theme="@style/MyActionBar"
            android:layout_alignParentTop="true"
            style="@style/toolbarButton">

            ...

        </android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

样式:

    <style name="toolbarButton">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:clickable">true</item>
    </style>
    <style name="MyActionBar"
        parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:background">@color/material_dark_blue</item>
        <item name="android:displayOptions">showHome|homeAsUp|showTitle</item>
        <item name="android:icon">@android:color/transparent</item>
        <item name="android:centerX">@android:integer/config_shortAnimTime</item>
        <item name="windowActionBar">false</item>
    </style>
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="android:textColor">@color/material_white</item>
        <item name="android:popupMenuStyle">@style/CustomOverflowBack</item>
        <item name="android:itemTextAppearance">@android:color/white</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

表现:

<application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:hardwareAccelerated="false"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
Run Code Online (Sandbox Code Playgroud)

任何帮助都非常感谢.

更新:添加CustomOverflowBack:

    <style name="CustomOverflowBack" parent="@android:style/Widget.Holo.Light.ListPopupWindow">
        <item name="android:popupBackground">@drawable/menu_item</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

Menu_item.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listview_background_shape">

    <stroke android:width="1dp" android:color="@color/material_dark_blue" /> …
Run Code Online (Sandbox Code Playgroud)

android android-theme android-actionbar android-toolbar

9
推荐指数
2
解决办法
2331
查看次数

是否可以从自定义属性继承或扩展样式

我正在创建一个库,需要通过主题将父样式传递到库中.要实现这一点,x是库中定义的样式.但它需要从父母那里扩展一些东西.

可以这样做吗?

我的图书馆风格: -

<style="x" parent="?customAttrReferingToSomeOtherStyle"></style>
Run Code Online (Sandbox Code Playgroud)

使用我的图书馆的任何人都需要这样做: -

<item name="customAttrReferingToSomeOtherStyle">@style/ApprelatedStyle</item>
Run Code Online (Sandbox Code Playgroud)

我对编写父样式的硬编码不感兴趣.我希望它是基于自定义属性的纯粹引用.任何形式的硬编码风格都会在模块设置中击败关注点.

android android-theme android-styles

9
推荐指数
0
解决办法
150
查看次数