小编Mir*_*iya的帖子

Android中的ViewPager是全屏?

在我的xml文件中,我有一个线性布局,其中包含用于显示图像的ViewPager和另一个包含用于选择图像的上一个和下一个按钮的线性布局.我的xml如下所示:

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/goto_first"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="first" >
            </Button>

            <Button
                android:id="@+id/goto_last"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="last" >
            </Button>
        </LinearLayout>

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

我的问题是ViewPager正在全屏显示,并且带有前一个下一个按钮的Linearlayout没有显示,因为没有空间来绘制此LinearLayout.

我正在使用Fragments来为ViewPager填充视图.进入ViewPager的片段视图的xml文件是:

<ImageView
    android:id="@+id/ItemImage"
    android:layout_width="320dp"
    android:layout_height="180dp" />

<TextView
    android:id="@+id/ItemText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="left|bottom"
    android:layout_marginBottom="5dp"
    android:textColor="#ffffffff"
    android:textStyle="bold" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

渲染后我得到的输出是这样的:
1.image(覆盖45%的屏幕高度)2.
空白区域(覆盖45%的屏幕高度)
3.Textview(覆盖10%屏幕高度的其余部分)

我想要的输出是:
1.image(覆盖45%的屏幕高度)
2.Textview(覆盖10%的屏幕高度)
3.LinarLayout for Buttons(覆盖45%屏幕高度的其余部分)

android android-layout android-viewpager

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

如何将CursorAdapter绑定到ExpandableListView?

我现在可以将CursorAdapter绑定到ListView.并且ListView可以在修改数据库时自动更新.

对于数据库中的数据行,字段为"类型",它们可以是"每日","每周","每月",.etc.我想在ExpandableListView中显示行,以便每种类型的行可以组合在一起.我还希望ExpandableListView可以在修改数据库时自动更新.如何将CursorAdapterExpandableListView组合在一起?

我google了很多,但找不到解决方案,谢谢你的关注!

android expandablelistview android-cursoradapter

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

在重新启动手机之前,Android自定义相机应用图片不会显示在图库中

我一直在研究相机应用程序,我希望它是当我按下"捕获"按钮它拍照并将其保存到SD卡,以便可以在库中查看.

然而,目前它无法保存我想要的方式.目前,当我按下捕获时,它会拍照,但是在完全重新启动手机后,图片才显示在图库中.

这个问题一直困扰着我好几个星期,我大多数都遵循了android给出的教程.

这是我处理图片的主类的代码.

 private PictureCallback mPicture = new PictureCallback() 
   {

    @Override
    public void onPictureTaken(byte[] data, Camera camera)
      {
        File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE);
        if (pictureFile == null){
           Log.d(TAG, "Error creating media file, check storage permissions: ");
            return;
        }

        try {
            FileOutputStream fos = new FileOutputStream(pictureFile);
            fos.write(data);
            fos.close();
        } catch (FileNotFoundException e) {
          //  Log.d(TAG, "File not found: " + e.getMessage());
        } catch (IOException e) {
        //    Log.d(TAG, "Error accessing file: " + e.getMessage());
        }
    }
};


private static File getOutputMediaFile(int …
Run Code Online (Sandbox Code Playgroud)

camera android android-sdcard

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

在活动中禁用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
查看次数

Android问题使用XML解析在MapView上绘制长路径

我在我的应用程序中出现问题..使用XML文件我得到地理位置来绘制两个位置之间的路径..但​​它只显示我的路线,如果距离小于300公里..否则它没有绘制完整的路径..

任何解决方案,用于将xml文件分成块或任何替代方案.因为它给出的方向即使对于长距离也是完美的......那么问题是什么?我不明白..

请帮忙..

编辑:我发现KML文件中存在问题.如果有一个很长的距离,它提供两个线串标签,每个都有坐标列表,全路径分为几个部分.如下

<GeometryCollection>
<LineString>
<coordinates>70.799640,22.283370,... </coordinates> </LineString>
<LineString>
<coordinates>73.005940,21.536300,....</coordinates> </LineString>
</GeometryCollection>

这就是为什么它只会在地图上绘制一个Route的后半部分..所以..任何人都知道如何解决这个问题..

编辑: -

public class DrivingDirectionsGoogleKML extends DrivingDirections
{
    @Override
    protected void startDrivingTo (GeoPoint startPoint, GeoPoint endPoint, Mode mode, IDirectionsListener listener)
    {
        new LoadDirectionsTask(startPoint, endPoint).execute(mode);
    }

    private class LoadDirectionsTask extends AsyncTask<Mode, Void, RouteImpl>
    {
        private static final String BASE_URL = "http://maps.google.com/maps?f=d&hl=en";
        private static final String ELEMENT_PLACEMARK = "Placemark";
        private static final String ELEMENT_NAME = "name";
        private static final String ELEMENT_DESC = "description";
        private static …
Run Code Online (Sandbox Code Playgroud)

xml android routes android-mapview

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

在 textView 中设置 Paint.STRIKE_THRU_TEXT_FLAG

我有一个问题,当用户点击checkbox里面的时候listViewtextView不会向它收费Paint.STRIKE_THRU_TEXT_FLAG)。当用户单击 时checkbox,罢工线将显示在textView.

           public void bindView(View row, Context context, Cursor c) {
            // TODO Auto-generated method stub

            listName = (TextView) row.findViewById(R.id.produtName);
            listCheck = (CheckBox) row.findViewById(R.id.check);
                            Item tag = (Item) listCheck.getTag();
            String pos = helper.getProductId(c);
            Log.i(CN, "getView: no tag on " + pos);
            tag = new Item();
            tag.id = Integer.parseInt(pos);
            listCheck.setTag(tag);
            listCheck.setChecked(false);
                        String status = helper.getProductStatusT(c);
            if (Integer.parseInt(status) == 0) {
                listCheck.setChecked(true);
                listName.setPaintFlags(listName.getPaintFlags()
                        | Paint.STRIKE_THRU_TEXT_FLAG);
            } else {
                listCheck.setChecked(false);
                listName.setPaintFlags(listName.getPaintFlags() …
Run Code Online (Sandbox Code Playgroud)

android listview

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

通过RTP在android中流式传输音频文件

我正在寻找一种使用和通过互联网流式传输预先录制的MP3WAV文件的方法。现在的主要绊脚石是如何从文件及其中获取a ,以便可以像通过麦克风摄像机发出的流一样传递它。SIPRTPstreamsynchronizeRTP

audio android stream rtp

5
推荐指数
0
解决办法
670
查看次数

如何使用view.playSoundEffect(SoundEffectConstants.CLICK)使用默认的单击声音;

我想使用默认TICK声音,但我不知道如何或在何处放置此代码

view.playSoundEffect(SoundEffectConstants.CLICK);
Run Code Online (Sandbox Code Playgroud)

我在另一篇文章中找到了这段代码.

这是我的代码:

        protected void onCreate(Bundle savedInstanceState)
        {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final MediaPlayer mp = MediaPlayer.create(this, R.raw.blah);

        Button Button01 = (Button)this.findViewById(R.id.Button01);
        Button01.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {
                mp.start();
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    public void onClick(View v){}

    public void disclaimerBTN (View v){
        Toast.makeText(this, "FAILED:      The remote object is " +
                            "not responding …
Run Code Online (Sandbox Code Playgroud)

android android-mediaplayer

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

如何在android中的ScrollView上设置Gesture的onFling()事件?

我设置了onFling()Gesture 的事件ScrollView,但它不适用于ScrollView,

package com.doubletap;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.GestureDetector.OnDoubleTapListener;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.widget.TextView;

public class DoubleTapActivity extends Activity implements OnGestureListener 
{
private GestureDetector gd;

private TextView tvTap;

String TAG = getClass().getSimpleName();

private static final int SWIPE_MIN_DISTANCE = 120;
private static final int SWIPE_MAX_OFF_PATH = 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;

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

    tvTap = (TextView)findViewById(R.id.tvTap);

    gd = new GestureDetector(this);

    gd.setOnDoubleTapListener(new OnDoubleTapListener() …
Run Code Online (Sandbox Code Playgroud)

android scrollview gesture

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

使用Easytracker进行谷歌分析时未捕获的异常

我在每个活动中都使用这个:

@Override
public void onStart() {
    super.onStart();
    EasyTracker.getInstance().activityStart(this);
}

@Override
public void onStop() {
    super.onStop();
    EasyTracker.getInstance().activityStop(this);
}
Run Code Online (Sandbox Code Playgroud)

并通过这个文档

我发现:

使用EasyTracker
要使用EasyTracker 自动跟踪应用程序中所有未捕获的异常,请将此行添加到您的analytics.xml文件中:

<bool name="ga_reportUncaughtExceptions">true</bool>
Run Code Online (Sandbox Code Playgroud)

使用自动异常跟踪跟踪异常后,EasyTracker会将异常传递给Thread的默认异常处理程序.

使用自动异常跟踪时,请注意以下事项:

  1. 通过自动异常跟踪跟踪的所有异常都会在Google Analytics中报告为致命异常.
  2. 使用堆栈跟踪自动填充描述字段.

但是当我收到UncaughtException并且应用程序崩溃时,在Google Analytics描述中,它只显示:

An error occured while executing doInBackground()
Run Code Online (Sandbox Code Playgroud)

不是上面提到的堆栈跟踪.什么东西需要添加?

谢谢

android google-analytics easytracker

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

android ListView mListView.getChildAt(i)为null,如何解决?

我创建以下代码:

 mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position,
                long id) {

            for (int i = 0; i < mListView.getCount(); i++) {
                View callLogView = mListView.getChildAt(i);   
                mRelativeLayout = (LinearLayout)callLogView.findViewById(R.id.myShow);
                if(i == position){
                    if(mRelativeLayout.getVisibility() == View.GONE){
                        mRelativeLayout.setVisibility(View.VISIBLE);
                    }
                    else{
                        mRelativeLayout.setVisibility(View.GONE);
                    }
                }else{
                    mRelativeLayout.setVisibility(View.GONE);
                }
            }

        }
    });
Run Code Online (Sandbox Code Playgroud)

我想实现一个函数,比如当我点击一个项目时Listview,它会显示一个视图,而Listview的其他项目将被隐藏.但是mListView.getChildAt(i)超过后会有空指针mListView.getChildCount().

怎么解决这个?提前致谢!

android android-listview

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

Android:addTextChangedListener运行不正常

我想对用户输入内部做出反应,EditText所以我使用了该addTextChangedListener方法.当用户键入单个字符时,代码onTextChanged正在运行,一切正常.因此,例如,如果用户键入"a",onTextChanged则将开始运行.

但是如果用户键入另一个字符,例如b,则不会调用onTextChanged.

(EditText中的文本现在应为"ab")

代码:

  et = (EditText)findViewById(R.id.edittextsearch);
  et.addTextChangedListener(new TextWatcher() 
  {

      public void afterTextChanged(Editable s){}
      public void beforeTextChanged(CharSequence s, int start, int count,int after){}
      public void onTextChanged(CharSequence s, int start, int before,int count)
      {
          int i = 0;
          textlength=et.getText().length();
          arr_sort.clear();
          for(i=0;i<3;i++)
          {
              if(textlength<=your_array_contents[i].length())
              {
                  if(et.getText().toString().equalsIgnoreCase((String) your_array_contents[i].subSequence(0, textlength)))
                  {
                      arr_sort.add(your_array_contents[i]); 
                  }
              }
          }
          lv.setAdapter(new ArrayAdapter<String>(GroupsActivity.this,
                    android.R.layout.simple_list_item_multiple_choice, arr_sort)); 
      }

  });
Run Code Online (Sandbox Code Playgroud)

感谢帮助!

android android-edittext

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

选择号码,电子邮件ID和android中的联系人姓名

我正在与手机联系人合作.当我点击按钮并获取所有联系信息,如姓名,电子邮件和电话号码时,我想从联系人列表中选择联系人.我只是收到了电子邮件和联系人姓名,但无法获取电话号码.我的代码在下面给出.

             Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,Contacts.CONTENT_URI);
                            startActivityForResult(contactPickerIntent, PICK_CONTACT);
                     }
             });
     }

     @Override
     public void onActivityResult(int reqCode, int resultCode, Intent data) {


           if (resultCode == RESULT_OK) {
                switch (reqCode) 
                {
                case PICK_CONTACT:
                    Cursor cursor = null;
                    String email = "", name = "";
                    try {
                        Uri result = data.getData();
                        //Log.v(DEBUG_TAG, "Got a contact result: " + result.toString());

                        // get the contact id from the Uri
                        String id = result.getLastPathSegment();

                        // query for everything email
                        cursor = getContentResolver().query(Email.CONTENT_URI,  null, Email.CONTACT_ID …
Run Code Online (Sandbox Code Playgroud)

email android contacts phone-number

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