相关疑难解决方法(0)

Android中的水平ListView?

可以ListView横向制作吗?我这样做了使用图库视图,但所选项目自动进入屏幕中心.我不希望所选项目在我点击的同一位置.我该如何纠正这个问题?我的想法是设置ListView水平滚动.分享你的想法?

android listview gallery horizontal-scrolling

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

如何在Android中制作水平ListView?

可能重复:
Android中的水平ListView?

像Android中的许多东西一样,你不会认为这会是一个如此难的问题,但哦,哦,你会错的.而且,与Android中的许多内容一样,API甚至没有提供合理可扩展的起点.如果我要打开自己的ListView,我会被诅咒,当我想要的只是把它拿走并把它转向它.\咆哮

好吧,现在我已经完成了冒烟,让我们谈谈问题本身.我需要的基本上就像是Gallery,但没有中心锁定功能.我真的不需要ListViewlistSelector,但这是一个很好的选择.大多数情况下,我可以用LinearLayout内部的方式做我想做的事情ScrollView,但我需要来自a的子视图ListAdapter,我真的希望有一个视图回收器.我真的不想写任何布局代码.

我偷看了其中一些类的源代码......

图库:如果我覆盖大多数'onXyz'方法,复制所有源代码,但不要调用,看起来我可以使用Gallery scrollIntoSlots().但我敢肯定,如果我这样做,我会遇到一些无法访问的成员字段或其他一些无法预料的后果.

AbsSpinner:由于该mRecycler字段是包私有的,我怀疑我是否能够扩展这个类.

AbsListView:看起来这个类只适用于垂直滚动,所以没有帮助.

AdapterView:我从来没有直接扩展这个类.如果你告诉我它很容易做,并且很容易自己动手RecycleBin,我会非常怀疑,但我会试一试.

我想我可以复制这两个 AbsSpinnerGallery得到我想要的东西......希望那些类没有使用一些我无法访问的包私有变量.你们都认为这是一个好习惯吗?有没有人有任何教程或第三方解决方案可能会让我朝着正确的方向前进?

更新:
到目前为止我找到的唯一解决方案是自己完成所有工作.自从提出这个问题以来,我已经AdapterView从头开始重写并实现了自己的"Horizo​​ntalListView".真正覆盖Gallery的中心锁定功能的唯一方法是覆盖私有scrollIntoSlots方法,我认为这需要在运行时生成子类.如果你足够大胆地做到这一点,它可以说是最好的解决方案,但我不想依赖可能改变的无证方法.

下面的Swathi EP建议我给出Gallery一个OnTouchListener并覆盖滚动功能.如果你不关心你的列表中有一扔支持,或者如果它是没关系的意见,在一扔动画结束捕捉到中心,那么这为你工作!然而,最终仍然证明在不移除支撑的情况下移除中心锁定特征是不可能的.而且我问你,什么样的名单不扔?

所以,唉,这对我不起作用.:-(但如果你对这种方法感兴趣,请继续阅读......

我还必须对Swathi的代码添加一些内容以获得我想要的内容.在GestureListener.onTouch,除了委托给手势检测器,我还必须返回true ACTION_UPACTION_CANCEL事件.这成功禁用了中心锁定功能,但它也禁用了投掷功能.我能够通过将自己的GestureListener委托给Gallery的onFling方法来重新启用fling .如果您想尝试一下,请进入ApiDemos示例代码并使用以下代码替换Gallery1.java类:

import com.example.android.apis.R;

import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.GestureDetector;
import android.view.MenuItem;
import android.view.MotionEvent; …
Run Code Online (Sandbox Code Playgroud)

android listview gallery

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

Android gradle:buildtoolsVersion vs compileSdkVersion

Android项目的build.gradle中buildtoolsVersionvs 之间有什么区别compileSdkVersion

编辑:具体来说,我想澄清构建工具是什么?

android android-gradle-plugin

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

简单的Android RecyclerView示例

我使用Android制作了几次项目列表RecyclerView,但这是一个相当复杂的过程.通过众多教程中的一个在线工作(这个,这个,很好),但我正在寻找一个简单的例子,我可以复制和粘贴以快速启动和运行.只需要以下功能:

  • 垂直布局
  • 每行一个TextView
  • 响应点击事件

因为我多次希望这样,所以我最终决定在下面给出答案以供我将来参考和你的.

android android-recyclerview

133
推荐指数
6
解决办法
15万
查看次数

RelativeLayout重量

在布局资源XML中,我有3个RelativeLayout(s),它们位于主RelativeLayout中.视图将垂直显示.这三个RelativeLayout()彼此相邻设置,我想让它们填满整个屏幕,无论屏幕大小是多少.我的布局视图:

<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:background="@drawable/backg"
 >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="@dimen/top_mr_image"
    android:src="@drawable/temp" />

<RelativeLayout
    android:id="@+id/r1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/imageView1"
    android:layout_marginLeft="10dp"
    android:background="@drawable/r1bg"
    android:layout_weight="1"

     >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="@dimen/txt_mr_right"
        android:layout_marginRight="@dimen/txt_mr_right"
        android:layout_marginTop="39dp"
        android:text="S"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/textView1"
        android:layout_marginLeft="@dimen/txt_mr_right"
        android:layout_marginRight="@dimen/txt_mr_right"
        android:text="T"
        android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>

    <RelativeLayout
        android:id="@+id/r2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignTop="@+id/r1"
        android:layout_toRightOf="@+id/r1"
        android:layout_weight="1" >
    </RelativeLayout>

            <RelativeLayout
        android:id="@+id/r3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignTop="@+id/r2"
        android:layout_toRightOf="@+id/r2"
        android:layout_weight="1" >

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

我设置weight=1layout_width=0dp为每个relativeLayout和这个技术使用按钮,我认为相同的将是relativeLayout,似乎我的想法是错误的.任何的想法?

UPD1:我添加了一张我想要的图像

在此输入图像描述

android android-layout

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

Android设计版面ListItem RecyclerView水平

我正在使用工具:listitem属性,通过recyclerview在设计版面中显示我的视图.问题是,它们总是出现在垂直列表中.有没有办法让设计版面编辑器水平显示它们?

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

<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:listitem="@android:layout/simple_list_item_checked"/>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想要上面的图像,水平显示.在设计视图中.不在应用程序本身,我知道如何做到这一点.

xml android android-studio

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

如何在画布中的现有矩形顶部添加矩形

我试图在我现有的画布中添加一些红色矩形,与特定的盒子一样,与预期的结果图像完全一样,但它们根本不显示,因为我的代码显示了当我部署应用程序时当前不希望的结果.我的代码是在顶行创建4个矩形,在底行创建4个矩形,但我只想在盒子2-6的顶部添加它,但我知道需要为盒子顶部的红色矩形添加额外的代码1和7.有谁知道我做错了什么以及如何解决这个问题?所有帮助将不胜感激.

public class RectangleTextView extends View {
    private final Paint mBlackPaint = new Paint();
    private final Paint mRedPaint = new Paint();
    private final TextPaint mTextPaint;

    public RectangleTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        int valueInDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getResources().getDisplayMetrics());
        int valueInSp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 20, getResources().getDisplayMetrics());

        mRedPaint.setColor(Color.parseColor("#CC3333"));

        mBlackPaint.setAntiAlias(false);
        mBlackPaint.setColor(Color.BLACK);
        mBlackPaint.setStrokeWidth(valueInDp);
        mBlackPaint.setStyle(Paint.Style.STROKE);

        mTextPaint = new TextPaint(TextPaint.ANTI_ALIAS_FLAG);
        mTextPaint.setColor(Color.BLACK);
        mTextPaint.setTextAlign(Paint.Align.CENTER);
        mTextPaint.setTextSize(valueInSp);

        mWindowPaint = new Paint();
        mWindowPaint.setColor(Color.parseColor("#CC3333"));
        mWindowPaint.setStrokeWidth(valueInDp);
    }

    private Paint mWindowPaint;

    @Override protected void onDraw(Canvas canvas) {
        super.onDraw(canvas); …
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-canvas android-view

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

如何使用固定宽高比视图为展开视图充气

在我的应用程序中,我有一个滚动视图.在我的应用程序的生命周期中,我动态地向滚动视图添加新视图.我可以添加几乎没有问题的视图,但我不能正确的维度.这是我想要的布局的草图:

在此输入图像描述

在图像中,我有一个尺寸Width为的屏幕Height.它包含一个HorizontalScrollView(或者可能是一个,RecyclerView但我不知道如何使用这个),当添加视图时它会增长.我希望添加到视图中的每个项目的宽度等于屏幕高度的五分之一并具有匹配的高度.如果我对膨胀视图的宽度进行硬编码,我可以做到这一点,但是,我的视图在所有手机上的宽高比都不一样.

注意:我尝试过使用PercentRelativeLayout,但我无法使用它.不知道如何解决这个问题...任何想法?


关于赏金的注意事项:我会接受Java或C#(Xamarin)的答案!! 我的项目是在Xamarin,所以如果它适用于它,或者它可以很容易地适应在C#中工作会很好

c# java android android-layout xamarin

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

水平回收视图与水平滚动

我学习机器人,我似乎无法找到一种方法来做到这一点: 在这里输入imdescription

我想做左侧滚动的权利,我猜是一个recylcer视图,但不确定它是否这样.我只需要有人指出我正确的方向.我想我需要一个Recyclerview的内部布局.

如果有人能指出我在哪里搞清楚这一点,我会非常感激!

android android-layout android-recyclerview

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

Android中如何制作传统蒙古文ListView

如何在Android应用程序中为垂直蒙古文字制作水平滚动的ListView?

背景

Android 对世界上许多语言都有相当好的支持,甚至是阿拉伯语和希伯来语等 RTL 语言。然而,没有像传统蒙古语这样的对自上而下的语言的内置支持(在内蒙古仍然很活跃,不要与西里尔蒙古语混淆)。下图显示了文本方向,为清楚起见添加了英文。

在此输入图像描述

由于此功能未内置于 Android 中,因此应用程序开发的几乎每个方面都变得极其困难。对于水平 ListView 来说尤其如此,Android 中不支持开箱即用的水平 ListView。网上提供的信息也非常非常少。有许多传统蒙古文的应用程序开发人员,但无论是出于商业原因还是其他原因,他们似乎都没有将其代码开源。

由于这些困难,我想提出一系列 StackOverflow 问题,这些问题可以作为收集与传统蒙古应用程序开发相关的一些更困难的编程问题的答案的中心位置。即使您不懂蒙古语,我们也将不胜感激您帮助审查代码、提出评论和问题、给出答案甚至对问题进行投票。

蒙古文垂直滚动ListView

蒙古文ListView需要满足以下要求:

  • 从左向右水平滚动
  • 触摸事件的工作方式与普通 ListView 相同
  • 与普通 ListView 一样支持自定义布局

还需要支持蒙古文 TextView支持的所有内容:

  • 支持传统蒙古文字体
  • 从上到下垂直显示文本
  • 换行是从左到右。
  • 换行出现在空格处(与英语相同)

下图展示了蒙古文ListView应具备的基本功能:

在此输入图像描述

我的答案如下,但我欢迎其他解决此问题的方法。

本系列其他相关问题:

iOS:

android listview vertical-text horizontal-scrolling mongolian-vertical-script

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