小编Cot*_*nyo的帖子

映射清除vs null

我有一张地图用于存储动态数据,这些数据一旦被创建就被丢弃(即使用;它们被快速消耗).它响应用户交互,因为当用户点击按钮时,地图被填充,然后数据用于做一些工作,然后不再需要地图.

所以我的问题是什么是更好的清空地图的方法?我应该每次都设置为null还是应该打电话clear()?我知道清楚是线性的.但我不知道如何将这个成本与每次创建地图的成本进行比较.地图的大小不是恒定的,因为它可能在创作之间从n到3n元素运行.

java hashmap map

12
推荐指数
1
解决办法
5045
查看次数

在android中将形状背景设置为透明

我有一个可绘制的形状,我想用作背景.我希望形状是透明的.但到目前为止还没有.我怎么做?这是我有的:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:padding="10dp"
    android:shape="rectangle" >

    <solid android:color="#80000000" />

    <stroke
        android:width="1dip"
        android:color="#000000" />

    <corners android:radius="10dp" />

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

我期望这条线<solid android:color="#80000000" />能做到这一点.

编辑:

在清单中,我设定android:theme="@android:style/Theme.Dialog".这可能是问题的原因吗?我基本上试图将这个观点置于另一个之上.更改为00或FF或其他任何不起作用.

transparency android android-layout xml-drawable

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

用户退出时删除我的应用的所有sharedPreferences

我有一个Android应用程序,其中包含许多活动,以及一些特定的首选项文件.当用户退出我的应用时,我想删除所有共享首选项.明白我不能使用context.getSharedPreferences("A_PREFS_FILE", 0).edit().clear().commit(),因为只能清除一个特定的文件.我想清除与我的应用相关联的所有首选项文件.有没有办法做到这一点?

android sharedpreferences

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

android AlertDialog具有透明背景

我有一个自定义AlertDialog,我想让它的背景完全透明.通常,要使活动完全透明,我会执行以下操作

  • #00000000在xml布局中设置背景

  • 在活动的清单集中android:theme="@android:style/Theme.Holo.Dialog".

  • 在onCreate中添加getWindow().setBackgroundDrawable(new ColorDrawable(0)).

    但是现在我正在处理一个Dialog,我该如何实现透明度呢?

这是对话框代码:

LayoutInflater inflater = getLayoutInflater();
    View dialoglayout = inflater.inflate(R.layout.activity_mine1,
        (ViewGroup) findViewById(R.layout.mine1));
    mine1 = new AlertDialog.Builder(this);
    mine1.setView(dialoglayout);
    mine1.show();
Run Code Online (Sandbox Code Playgroud)

我的xml只是一个带有其他子视图的relativeLayout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#00000000" >

    ...

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

注意:我已经在这里看了一些类似的帖子,但它们似乎没有用.

我的真正原因是我真正想要使用的背景不是矩形.我让它在一项活动中工作.但我想改用对话框.

编辑:

进一步玩,我有这个 style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="CustomDialog" parent="android:Theme.Holo.Dialog">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

我添加为

new AlertDialog.Builder(this, R.style.CustomDialog)
Run Code Online (Sandbox Code Playgroud)

transparency android android-layout android-alertdialog

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

将android EditText样式从矩形边框更改为下划线

在我的一个活动中,我的EditText视图过去看起来像这样

在此输入图像描述

但现在他们看起来像这样

在此输入图像描述

我需要帮助改变它:从矩形到下划线.

背景

因为我需要创建一个自定义ActionBar,所以我必须YesterdayActivity使用以下内容更改相关活动的主题

样式:

<style name="CustomWindowTitleBackground">
        <item name="android:background">#323331</item>
    </style>

    <style name="CustomTheme" parent="android:Theme">
        <item name="android:windowTitleSize">40dip</item>
        <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

表现:

  <activity
        android:name="com.example.YesterdayActivity"
        android:theme="@style/CustomTheme">
    </activity>
Run Code Online (Sandbox Code Playgroud)

的onCreate:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.activity_yesterday);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.yesterday_title_bar);
…
}
Run Code Online (Sandbox Code Playgroud)

android android-layout android-theme android-actionbar

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

获取关于android中最顶级父级的视图位置

要获得视图相对于其父,我可以使用getLeft(),getRight(),getTop(),和getBottom().但是如何获得相对于布局文件最顶层父级的视图?所以说我的前夕布局是RelativeLayout.然后在前夕说我有许多嵌套布局.然后深入层次结构中我有一个EditText视图.如何获得关于前夕的EditText视图的位置?

android android-layout

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

ADT 错误:无法创建视图:org.eclipse.mylyn.tasks.ui.views.tasks

有谁知道如何解决这个错误?我无法查看任务列表,并且任务列表窗口出现如上/下所述的错误。

Could not create the view: org.eclipse.mylyn.tasks.ui.views.tasks
Run Code Online (Sandbox Code Playgroud)

eclipse tasklist adt

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

虚线显示在图形布局中,但不显示在设备上

我正在使用paint在android中画一条虚线.

dashed.setPathEffect(new DashPathEffect(new float[] { 5, 5 }, 0));
Run Code Online (Sandbox Code Playgroud)

在开发过程中,图形布局视图中的所有内容都显示正常.但是当我插入一个真实设备时,该设备显示一条实线.起初我以为是因为我的设备都是LG.然后我测试了三星S4:同样的问题.有谁知道如何解决这种差异?图形布局说一件事并且没有实际的设备同意它是没有意义的.有什么建议?

layout android android-layout android-canvas

6
推荐指数
2
解决办法
2159
查看次数

膨胀图层 - 在android中的形状列表

我在我的drawable文件夹中有以下文件/drawable/mybkg.xml.我想给它充气,这样我就可以通过编程方式更改颜色.这可能在Android?

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

    <item>
        <shape android:shape="oval" >
            <padding
                android:top="5dp"
                android:bottom="2dp"
                android:left="2dp"
                android:right="2dp" />

            <solid
                android:angle="270"
                android:color="#1bd4f6" />

            <stroke
                android:width="2dp"
                android:color="#121ce5" />
        </shape>
    </item>

    <!-- Foreground -->
    <item>
        <shape android:shape="oval" >

            <solid android:color="#1b90f6" />
        </shape>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

我刚才看到一个叫做的课 LayerDrawable.有谁知道如何LayerDrawable通过编写代码或膨胀现有的xml 将我的xml文件转换为这样的文件 ?

android android-layout android-inflate layer-list

6
推荐指数
1
解决办法
802
查看次数

找到Listview项目的像素位置似乎返回错误的值

我有一个ListView与许多项目(动物),具有不同的高度.使用OnScrollListener我试图跟踪哪个项目与屏幕上的特定位置相交.说有问题的位置是creatureMarkerBottom = 140.当我运行代码时,下面的代码似乎返回了错误的数据:我不断得到误报和漏报.这是代码.该代码应该使标记变为实心或透明,这取决于鸡是否与它交叉.然而,褪色并不能真正服从鸡是否接触到板/棒.我的猜测是我获取ListView像素位置的方式是错误的.

OnScrollListener listviewScrollListener = new OnScrollListener() {
        int creatureLocationPixel[] = { 0, 0 };
        int creatureMarkerBottom;
        int creatureTop, creatureBottom;
        int[] creatureLocationPixel = { 0, 0 };
        View creatureView;
        boolean creatureMarkerIsFaded = false;

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {

        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            try {
                scrollBackgroundToFindCreature(visibleItemCount, firstVisibleItem);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        private void scrollBackgroundToFindCreature(int visibleItemCount, int index) {
            creatureMarkerSlabView.getLocationOnScreen(creatureLocationPixel);
            creatureMarkerBottom = creatureLocationPixel[1] …
Run Code Online (Sandbox Code Playgroud)

android scroll coordinates android-layout android-listview

5
推荐指数
1
解决办法
857
查看次数