我正在尝试使用点显示从右到左(即向后)的边缘:
C <- A -> B
Run Code Online (Sandbox Code Playgroud)
我能做的最好的事情是:
digraph {
a -> b;
c -> a [dir="back"];
{rank=same;c a b}
}
Run Code Online (Sandbox Code Playgroud)
..这很好,除了我不喜欢使用c -> a边缘指向另一个方向.
所以我想分享这个解决方案(似乎没有在SO上提及),并检查我是否遗漏了一些明显的东西.
我有一个自定义视频播放器活动.
我被迫在我的应用程序中启用RTL支持.
但这样做会导致从右到左对齐的ProgressBar.(那看起来很难看)
我希望我的ProgressBar在启用RTL的应用程序中保持LTR.
有什么解决方案吗?
PS我使用的是Android 4.2.2
我有几张从右到左看起来不同的图像.是否可以为文件名创建rtl特定的可绘制目录或某些rtl后期修复以自动加载相关图像?看起来ldrtl post-fix,从17 lvl添加,仅适用于layouts目录.
HTML代码
<html dir="rtl">
<p>hello (world)</p>
</html>
Run Code Online (Sandbox Code Playgroud)
你会看到这样的页面:
(hello (world
Run Code Online (Sandbox Code Playgroud)
但是,如果我将html代码更改为
<html dir="rtl">
<p>hello (world) again</p>
</html>
Run Code Online (Sandbox Code Playgroud)
然后文本正常显示:
hello (world) again
Run Code Online (Sandbox Code Playgroud)
有谁能解释为什么会这样?如何解决第一个例子?
我的浏览器是chrome
对于我的网站,我需要提供阿拉伯语支持.其中一部分是提供输入文本框,当用户键入时,新字符必须附加到左侧,文本必须右对齐.
将css属性设置为
text-align:right
Run Code Online (Sandbox Code Playgroud)
没有用,因为我无法将光标移到左边并在那里添加字母.所以我删除了该属性并添加了
direction:RTL
Run Code Online (Sandbox Code Playgroud)
在这里,光标向左移动,文本右对齐.但是新添加的字符没有附加到左侧.相反,他们只被附加到右端.
我该如何解决?请帮忙..
例如,请参阅Google阿拉伯语页面搜索框.我需要确切的行为,尽管不是那些花哨的键盘图标等,http://www.google.com/webhp?hl = ar
我打算建一个Persian app (RTL).我的应用程序包括ListView和导航抽屉.
我Manifest在应用程序标签中添加了android:supportsRtl="true"
并在onCreate()方法中:getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
我知道,LayoutDirection不到17 api不起作用.
对于api等级17及更高:

对于api低于17:

我该如何解决这个问题.1-设置一个conditional statement检查android api并指定一个特定的布局?layout-ldrtleclipse中的2用文件夹?3 - ......?什么是最好的方法??
<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="@drawable/myback">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="40dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="60dp"
android:layout_marginRight="60dp"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp" >
<EditText
android:id="@+id/edtxtsearch"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:hint="????? ???? ?????"
android:textSize="13dp"
>
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_gravity="center"
>
<ListView
android:id="@+id/mylist"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:divider="@android:color/transparent"
android:dividerHeight="7dp"
android:scrollbarStyle="outsideInset"
/>
</LinearLayout>
</LinearLayout> …Run Code Online (Sandbox Code Playgroud) TextView始终存在RTL(从右到左)语言的问题.由于我只知道如何阅读希伯来语(除了英语),我将讨论它的问题:
文本对齐(我不是在谈论引力).作为一种RTL语言,希伯来语从右到左放置单词(与英语相反).
为了展示它是多么令人讨厌,想象一下,而不是展示"Hello world".你通常得到".Hello world".如果你只用一个句子就可以很容易地解决这个问题,但是当有多个标点字符时会更难.
元音位置.希伯来语不需要元音来阅读文本,但有时没有它们就很难阅读(特别是圣经).对于元音,希伯来语有所谓的"NIKUD",它实际上就像字母内部的点.Android中的问题是它们通常位于错误的位置.
为了展示它是多么令人讨厌,想象一下,而不是展示"Hello world".你通常得到".eHlol owrld".即使你试图修复它(把元音总是放在当前元素之后的一个字符),字母中的位置也不正确(想象"Hello"中的"e"就像"H"之上的那样,例子).
仅在版本4.2(在此处阅读,在"原生RTL支持"下),谷歌已经修复了所有希伯来语相关问题(或者至少看起来如此).
希伯来语的问题导致每个以色列航空公司和每个定制ROM制造商都有自己的解决方案来解决不同的问题,这使得在4.2之前的设备上处理RTL文本几乎是不可能的.
如果文本包括希伯来语和英文字母,事情会变得更加令人沮丧.
我已经阅读了很多关于这些问题的网站,我尝试了很多解决方案,没有一个解决了所有设备上的问题:
有人建议将字符'\ u200F'(或'\ u202D')放在文本的结尾/开始/两个位置.
有人建议使用Html.fromHtml()方法并在那里添加一些特殊内容.
有些人甚至建议使用WebView(也许使用WebSettings.setDefaultTextEncodingName()).
这个问题有一个明确的解决方案吗?
我认为最好的事情是因为Android 4.2解决了这个问题,并且Android是开源的,我们应该将其TextView导入到我们可以使用的库中,但谷歌还没有提供这样的库.
看起来Apple的RTL语言自动翻转界面的新功能在使用时会出现问题UICollectionView.
我在集合视图中使用了Trailing/Leading类型的约束,并且他们在RTL语言中切换了它们应该的值.
问题是实际呈现的数据是集合数据源中的最后一个 indexPath,但UIScrollView.contentOffset.x第一个单元格的数据是0.
一个适当的行为将一直执行下列操作之一:
indexPath正确显示第一个并切换滚动方向(向右) - 最佳选项indexPath/ scrollView.contentOffset.x将被同步 - 禁用RTL支持的选项.scrollView.contentOffset.xto表示最后一个单元格位置.我猜Apple可能会在将来的某个时候修复它,但同时我们必须使用诸如反转数组和/或滚动到最后一个对象的变通方法.
我正在尝试在我的应用程序中添加RTL语言支持(特别是现在的阿拉伯语).我也会支持英语.我做了什么:
android:supportsRtl="true"到我的应用程序标签中AndroidManifest.xml起初我手动进行了这些更改,然后我使用了Android Studio的"重构 - >添加RTL支持尽可能..."菜单项.
当我预览我的布局文件时,我可以看到RTL预览正确地镜像了UI; 但是,即使我使用"强制RTL布局方向",我的应用程序也不会显示RTL布局.系统UI被翻转,因此该选项通常可以正常工作.
为了显示RTL布局,还有什么我需要做的吗?我希望我错过了一些明显的东西.我在API 21仿真器上测试它.
我继承了一些代码.有些东西可能会覆盖设置并强制进入LTR模式.我做了一个测试应用程序来测试RTL模式,它工作正常.什么样的代码可能会导致"强制RTL布局方向"设置被忽略(或被覆盖)?
我已经检查过语言环境是否设置正确,确实如此.我还检查了配置,并ldrtl进行了设置.我在已签名的apk文件中验证android:supportsRtl了它,并且没有任何布局文件android:layoutDirection="ltr".我甚android:layoutDirection="rtl"至尝试过手动试图强制布局镜像,但这也不起作用
我在项目中添加了另一个活动,使其成为启动器活动,并确保它没有连接到任何现有代码.它是的子类Activity.这个问题仍然存在.所以从理论上讲这是一个配置问题.就像我说的那样,我检查了AndroidManifest.xml文件以及生成的所有布局文件,并且RTL支持和布局更改全部进入.配置可能出现什么问题?
如何将整个应用布局方向更改为RTL?我正在编写一个应用程序,用户必须在首次启动时选择它的语言,并且布局应根据用户选择更改为RTL或保持LTR.我用来添加android:supportsRtl="true"到AndroidManifest与android:layoutDirection="rtl"每个布局,但这种方法有像下面一些问题:
一个问题是当我将方向更改为RTL时,ActionBar主页图标或导航按钮(当启用了主页时)仍然是LRT并且只是向右移动.
我也试图以编程方式改变方向,结果是一样的:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1){
getWindows().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法强制所有活动一次成为RTL,或者我们应该分别在每项活动中设定方向?