标签: android-ui

如何更改主题中的textColorPrimary?

我正在使用setTheme更改onCreate中的一个活动的主题(我甚至在调用super.onCreate()之前就这样做了,因为这应该更可靠).

它确实可以改变背景和前景色.但是,我的布局有一些使用textAppearanceLarge等样式的元素.现在Android的textAppearanceLarge在内部使用textPrimaryColor - 我的主题仍然没有改变.

我试图覆盖主题中的主要文本颜色,但这似乎不起作用.

这是主题的关键部分:

<style name="Theme.MyApp.White">
   <item name="android:background">@android:color/white</item>
   <item name="android:textColor">#000000</item>
</style>
Run Code Online (Sandbox Code Playgroud)

背景显示为白色,纯文本视图显示为黑色...但使用textAppearanceLarge的TextViews为白色,因此不可见(白色为白色).

我尝试过这样的事情:

   <item name="android:ColorPrimary">#000000</item>
   <item name="android:textColorPrimary">#000000</item>
   <item name="android:attr/textColorPrimary">#000000</item>
Run Code Online (Sandbox Code Playgroud)

但这些都没有做任何事情.什么是魔术?

android android-ui

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

Android - 自定义Spinner小部件外观

是否可以更改radio buttonAndroid 微调器小部件中的颜色.默认情况下,它会显示单选按钮的绿色.

我需要将它改成其他颜色,是否可能,以及如何?

android android-widget android-custom-view android-ui

8
推荐指数
1
解决办法
9471
查看次数

Android图标大小

我知道有针对Android中特定区域创建图标的指南(Tab,List等),以及如何根据ldpi,mdpi,hdpi等对它们进行调整.

有关如何扩展其他应用内图标的规则吗?

我有一个10x10像素的'微小'图标,我在我的mdpi开发手机上使用,创建该图标的ldpi,hdpi和xhdpi版本的缩放规则是什么?

谢谢

戴夫

android android-ui

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

为什么在LoaderManager中使用AsyncTaskLoader而不是简单的Handler?

从UI线程运行异步任务然后修改UI是android开发中的常见问题,因此我决定花一些时间,研究并使用不同的技术,找到最适合我的方法.

我认为重要的因素是:

  • 应该可靠地工作
  • 代码可读性
  • Activity或者Fragment应该保持尽可能多的线程管理

以下是关于各种方法的印象摘要(可能有些错误,有些只是意见):

的AsyncTask

当我第一次跳入Android时,我AsyncTask没有使用简单LoaderManager:

  • 有间歇性的问题,我自己写了AsyncTaskManager一个用活动生命周期来管理它们.
  • 任务数量存在一些限制,之前已报告过内存泄漏.
  • 这些问题的最大问题在于它们使我的代码非常复杂,并且简化代码首先失败了使用它们的目的.

带有LoaderManager的AsyncTaskLoader

这似乎是推荐的方法,所以我研究了一下:

  • 在阅读了这些之后,似乎推荐这种方法的主要原因是因为它管理Fragment生命周期中的任务,并且从我的理解基本上只是在必要时重新启动任务.在活动重新启动后重新启动活动之前,它似乎无法接收启动任务的结果.
  • 所有任务参数似乎必须是ParcelableSerialiazable进入Bundle对象.

处理程序,线程,消息

这是我确定的方法:

  • 易于实施,极易定制.
  • 您可以访问执行任务的线程:设置优先级,设置调试的线程名称,设置守护程序等.
  • 看起来比使用AsyncTasks更具响应性,基于眼睛测试我多次点击按钮并观看结果和线程闪烁;)我可以对此进行基准测试.
  • 要处理生命周期问题,可以编写一个管理消息的单例类(在进程处于活动状态时保持不变).在未设置给定活动的处理程序时存储它们,然后在它询问其错过的消息时将它们转发到活动处理程序.意味着任务不必使用相同的参数重新启动,这对于非幂等的任务非常重要.

所以,我来到了,使用的结论Handler,ThreadsMessages是一个更好的解决办法,但我相信,我失去了一些东西,因为几乎到处都看着我的建议是使用AsyncTaskLoader方法.我错过了什么?

感谢您的投入.

multithreading android android-ui android-asynctask android-handler

8
推荐指数
1
解决办法
4631
查看次数

Android - 按下时旋转/旋转"加载"图像的按钮

我的应用程序上有一个很大的"登录"按钮.当用户点击此按钮时,我想用"登录..."替换文本,将其对齐到左边而不是中心,并在右边放一个旋转的圆圈(但仍然在按钮内).我想在我的应用程序的其他地方使用基本相同的按钮(但具有不同的初始和加载文本).

最好的方法是什么?对于实际的旋转图形,我计划使用@drawable/spinner_white_16Android附带的.

谢谢.

android android-ui android-animation

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

如何在Android中设计微调器

我想设计一个微调器,如下图所示:

在此输入图像描述

我没有在旋转器中得到指向下方的箭头符号.我怎样才能做到这一点?

如果我做了如上所示的按钮设计,那么我必须编写额外的代码来获得与微调器类似的功能,就像Spinner没有的那样android:drawableRight="@drawable/arraodown",但是在按钮中我们有这个方法.

android android-ui android-layout android-spinner

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

getHeight for View哪个可见性=已消失

我有一个LinearLayout默认情况下其可见性设置为"Gone",我需要获取此视图的高度,以便在可见时执行滑出动画.如何获得可见状态的总高度,因为View.getHeight在未调用布局时返回零.

<LinearLayout
    android:id="@+id/card_checkin_layout_termsconditionsconfirmation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="4dp"
    android:layout_marginRight="4dp"
    android:gravity="center_horizontal"
    android:background="#d0d0d0"
    android:visibility="invisible"
    android:orientation="vertical" >

    <Button
        android:id="@+id/card_checkin_button_confirmdetails"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp"
        android:background="@drawable/shape_checkin_buttons2"
        android:text=">   Confirm your details"
        android:paddingLeft="8dp"            
        android:gravity="left|center_vertical"
        android:textColor="@color/card_checkin_button_textcolor_blue" 
        />

    <Button
        android:id="@+id/card_checkin_button_termsandconditions"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:paddingLeft="8dp"            
        android:background="@drawable/shape_checkin_buttons2"
        android:text=">   Terms and Conditions"
        android:gravity="left|center_vertical"
        android:textColor="@color/card_checkin_button_textcolor_blue" 
        />

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

android android-ui android-animation android-layout android-view

8
推荐指数
1
解决办法
5447
查看次数

在Java-Android中设置Link Clickable

我正在设计一个应用程序,其中有TextView,并根据一些检查条件,我想在Java端点击TextView中的链接/电话号码.我可以这样做,我不想让它在默认情况下可点击,这是通过在xml文件中设置完成的

 android:autoLink="all" 
Run Code Online (Sandbox Code Playgroud)

我已经尝试过:创建常规TextView,不要设置autoLink ="all",

     TextView myView = 
                (TextView)view.findViewById(R.id.thisIstheTextView);
       myView .setLinksClickable(true);
Run Code Online (Sandbox Code Playgroud)

还尝试过:

     myView .setMovementMethod(LinkMovementMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)

以上Java代码都不起作用,我不想要预先设计的xml TextView启用autoLink,我想根据if()条件更改Java代码中的TextView行为.我的代码没有错误,但我无法实现我想要的.你能分享一下你的知识吗?谢谢.

java android android-widget android-ui

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

在活动中禁用SlidingMenu

我有一个使用SlidingMenu的父类.扩展父类的子项显示主页图标上的滑动菜单.

如何禁用子类中的滑动菜单?

代码父类:

 public class BCFragmentActivity extends SlidingFragmentActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        setSlidingActionBarEnabled(true);

        setBehindContentView(R.layout.slide_menu);

        getSlidingMenu().setShadowWidthRes(R.dimen.shadow_width);
        getSlidingMenu().setShadowDrawable(R.drawable.shadow);
        getSlidingMenu().setBehindOffsetRes(R.dimen.actionbar_home_width);
        getSlidingMenu().setBehindScrollScale(0.25f);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
            toggle();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

}
Run Code Online (Sandbox Code Playgroud)

儿童代码:

    public class SettingsPagerActivity extends BCFragmentActivity {

    private ActionBar actionBar;
    private ViewPager settingsPager;
    private Tab profilesTab;
    private Tab accountsTab;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings_pager);


        actionBar = getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        settingsPager = (ViewPager) findViewById(R.id.settingsPage);
        settingsPager.setOnPageChangeListener(pageChangeListener);

        FragmentManager …
Run Code Online (Sandbox Code Playgroud)

android sliding android-ui

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

设计带圆角和内阴影的EditText

我正在尝试创建一个包含圆角和内阴影的自定义EditText.

在此输入图像描述

我创建了一个创建内部阴影的图层列表,

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item >
        <shape android:shape="rectangle">
            <solid android:color="#6C6C6C" />           
        </shape>
    </item>

    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/ashes" />   
        </shape>
    </item>

    <!-- White Top color -->
    <item android:top="3px" android:left="3px">
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF" />           
        </shape>
    </item> 
</layer-list>
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样,

在此输入图像描述

我怎样才能添加圆形?

android android-ui android-layout

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