小编May*_*val的帖子

Android设置导航抽屉列表,打开所有设备屏幕的确切一半的屏幕

我想打开所有不同设备的屏幕一半的抽屉列表.我尝试将layout_margineleft 200dp或100dp的硬编码值写入抽屉列表.但它不适用于所有不同设备的设备.那么如何才能为抽屉列表保留一半的屏幕.我也尝试了各种功能,如setLeft(int)等.但由于我使用的是最低版本8,因此其中一些功能不起作用.所以请帮助我.提前致谢.

    mDrawerLayout = (DrawerLayout) view.findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) view.findViewById(R.id.top_sectionlist);
Run Code Online (Sandbox Code Playgroud)

xml为:

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/drawer_layout"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@color/setting_background" >

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

 android:layout_width="match_parent"
 android:layout_height="fill_parent"
 android:layout_margin="@dimen/top_news_linear_margin"
 android:background="@color/news_list_divider_color"
 android:orientation="vertical"
android:padding="@dimen/top_news_linear_padding" >

</RelativeLayout>

<ListView
 android:id="@+id/drawer_list"
 android:layout_width="wrap_content"
 android:layout_height="fill_parent"
 android:layout_gravity="right"
 android:layout_alignParentTop="true"
 android:background="@color/setting_background"
 android:cacheColorHint="@android:color/transparent"
 android:choiceMode="singleChoice"
 android:divider="@color/news_list_divider_color"
 android:dividerHeight="@dimen/news_list_divider_height"
 />

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

android screen margins navigation-drawer

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

Android Parse Push通知设备只在一台设备上注册一次

每个人都在我的应用程序中使用解析服务进行推送通知.但是当我在一台设备上重新安装应用程序时,它会一直注册.然后问题是,一台设备会在每台设备上收到多个通知.我已经完成了一些注册代码,如下所示.请帮助我,提前谢谢.

Parse.initialize(this, PARSE_APP_ID, PARSE_CLIENT_KEY);
ParseACL defaultACL = new ParseACL();
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
PushService.setDefaultPushCallback(this, MainActivity.class);
ParseInstallation.getCurrentInstallation().getInstallationId();
ParseInstallation.getCurrentInstallation().saveInBackground();
Run Code Online (Sandbox Code Playgroud)

并订阅:

PushService.subscribe(this, userName, Detail.class);
Run Code Online (Sandbox Code Playgroud)

在清单中

以上

  <permission
    android:name="com.example.app.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

  <uses-permission android:name="com.example.app.permission.C2D_MESSAGE" />
Run Code Online (Sandbox Code Playgroud)

在应用标签中:

    <receiver android:name="com.parse.ParseBroadcastReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.USER_PRESENT" />
            <action android:name="act" />
        </intent-filter>
    </receiver>

    <receiver android:name="com.app.example.PushReceiver" >

        <intent-filter>
            <action android:name="act" />
            </action>
        </intent-filter>
    </receiver>

    <receiver
        android:name="com.parse.GcmBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <action android:name="act" />
            <category android:name="com.example.app" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

每次我安装时,都显示错误,如下所示.

03-10 12:18:48.555: E/ParseCommandCache(12709): Failed to …
Run Code Online (Sandbox Code Playgroud)

android push-notification devicetoken parse-platform google-cloud-messaging

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

从Textview中选择文本时出错(java.lang.IndexOutOfBoundsException:setSpan(-1 ... -1)在0之前开始)

我想在文本view.I添加了复制粘贴功能,增加了代码registerForContextMenu(detailedText);,并 android:textIsSelectable="true"在xml.When我试图复制它工作得很好,但是当它指出在文本视图的第一个位置,比我们尽量选择文本它抛出错误.我在下面显示.我怎么解决呢?请帮我.

XML

  <TextView
            android:id="@+id/datailtext"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textIsSelectable="true"
            android:layout_below="@+id/EMPTY"
            android:text="@string/detailed_text"      
            />
Run Code Online (Sandbox Code Playgroud)

错误

    04-02 16:54:03.367: E/AndroidRuntime(10977): FATAL EXCEPTION: main
    04-02 16:54:03.367: E/AndroidRuntime(10977): Process: com.example.app, PID: 10977
    04-02 16:54:03.367: E/AndroidRuntime(10977): java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0
    04-02 16:54:03.367: E/AndroidRuntime(10977):    at android.text.SpannableStringInternal.checkRange(SpannableStringInternal.java:355)
    04-02 16:54:03.367: E/AndroidRuntime(10977):    at android.text.SpannableStringInternal.setSpan(SpannableStringInternal.java:77)
    04-02 16:54:03.367: E/AndroidRuntime(10977):    at android.text.SpannableString.setSpan(SpannableString.java:46)
    04-02 16:54:03.367: E/AndroidRuntime(10977):    at android.text.Selection.setSelection(Selection.java:76)
    04-02 16:54:03.367: E/AndroidRuntime(10977):    at android.widget.Editor$SelectionEndHandleView.updateSelection(Editor.java:3479)
    04-02 16:54:03.367: E/AndroidRuntime(10977):    at android.widget.Editor$HandleView.positionAtCursorOffset(Editor.java:3167)
    04-02 16:54:03.367: E/AndroidRuntime(10977):    at android.widget.Editor$SelectionEndHandleView.updatePosition(Editor.java:3494)
    04-02 16:54:03.367: E/AndroidRuntime(10977):    at android.widget.Editor$HandleView.onTouchEvent(Editor.java:3260)
    04-02 …
Run Code Online (Sandbox Code Playgroud)

java android copy-paste textview clip

15
推荐指数
2
解决办法
6817
查看次数

Android:错误com.parse.ParseException:必须在此操作中指定至少一个ID字段(installationId,deviceToken)

我在我们的应用程序中使用解析推送通知但在设备注册时出现一些问题,错误如下所示.当我们向设备发送推送通知时,还有一个问题,即设备收到多个通知.虽然我们也将解析库升级到Parse 1.4.1.请帮助我,提前谢谢.

首次安装应用时会显示错误:

04-14 14:00:40.004: E/LOG(26045): Socket event: onConnect 
04-14 14:00:41.874: E/ParseCommandCache(26045): Failed to run command.
04-14 14:00:41.874: E/ParseCommandCache(26045): com.parse.ParseException: at least one ID field (installationId,deviceToken) must be specified in this operation
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.ParseCommand$2.then(ParseCommand.java:348)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task$10.run(Task.java:452)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task$1.execute(Task.java:68)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task.completeImmediately(Task.java:448)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task.continueWith(Task.java:322)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task.continueWith(Task.java:333)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task$8.then(Task.java:385)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task$8.then(Task.java:377)
04-14 14:00:41.874: E/ParseCommandCache(26045):     at com.parse.Task$11.run(Task.java:485)
04-14 …
Run Code Online (Sandbox Code Playgroud)

android device push-notification parse-platform

14
推荐指数
2
解决办法
4519
查看次数

Android Text should appear both side in the Switch

I using custom switch for support of API 8. I am using THIS Libarary for Custom Switch. But I want to make something Like show in figure.I have tried to change the color ,though changing the color in the style but doesn't effect as i want.

enter image description here

Please help me , Thanks in advance.

android switch-statement custom-component

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

Android:带有圆角投影的布局

我希望在布局的背景中形状如下图所示.我尝试了一些东西,下面给出了.

borders.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--Layer 0-->
<!--Layer 1-->
<!--Layer 2-->
<!--Layer 3-->
<!--Layer 4 (content background)-->

    <!-- dropshadow -->
    <item>
        <shape>
            <solid android:color="#10CCCCCC" />
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
        </shape>
    </item>

    <item>
        <shape>
            <solid android:color="#20CCCCCC" />
           <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
        </shape>
    </item>

    <item>
        <shape>
            <solid android:color="#40CCCCCC" />
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
        </shape>
    </item>

    <item>
        <shape>
            <solid android:color="#50CCCCCC" />
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
        </shape>
    </item>

    <item>
        <shape>
            <solid android:color="#60CCCCCC" …
Run Code Online (Sandbox Code Playgroud)

android shape

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

Android:在选择项目后,在屏幕的中心位置找到项目,在水平线滚动视图中

我选择它后,我试图将项目滚动到屏幕的中间位置.我在其中使用了Horizo​​ntalscrollview和LinearLayout来添加项目.我在XML中显示

XML

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

  <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/bottom"
        android:orientation="vertical" >

       <HorizontalScrollView
                android:id="@+id/scrollView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/updown"
                android:layout_weight="0.8"
                android:fadingEdgeLength="0dp" >

                <LinearLayout
                    android:id="@+id/horizontalbar"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@color/tlbackground"
                    android:baselineAligned="true"
                    android:orientation="horizontal" >
                </LinearLayout>
       </HorizontalScrollView>
  </LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

public class MainActivity extends FragmentActivity implements ActionBar.TabListener
{

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      hsl = (HorizontalScrollView) findViewById(R.id.scrollView);
      LinearLayout l1 = (LinearLayout)findViewById(R.id.horizontalbar);

        for(int i = 0; i < 20; i++)
        {
            Button b = new Button(this);
            b.setText("t"+i);
            ll.addView(b);
        }
     }
} …
Run Code Online (Sandbox Code Playgroud)

android scroll center horizontalscrollview

3
推荐指数
1
解决办法
9978
查看次数

Android:无法应用adapterview中的setonclicklistener

在我得到的错误l.setOnClickListener(this);,它说的东西setOnclicklistneradapterview无法应用等

    import android.os.Bundle;
    import android.view.View;
    import android.widget.Adapter;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.Toast;

    public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
    ListView l;
    String[] days={"Sunday","monday","tuesday","wedensday","thursday","friday","saturday"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        l=(ListView)findViewById(R.id.listView);
        ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,days);
        l.setAdapter(adapter);
        l.setOnClickListener(this);
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        TextView temp=(TextView)view;
        Toast.makeText(this,""+temp.getText()+" "+position,Toast.LENGTH_LONG).show();

    }
}
Run Code Online (Sandbox Code Playgroud)

java android android-adapter

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